弒天下
2022-07-08 18:21:21
我是 React Native 的初學者,在我的項目中,我在按下按鈕用戶名和身份驗證狀態后沒有初始化我的變量,但在第二次按下后我的狀態初始化并顯示數據可以幫助我解決這個問題。謝謝const DataFeatch = async () => {await Authentication_Creator();let SearchData = { "user_name": await UserName, "user_authentication": await User_Authentication,}; try { let response = await fetch('fechURL, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(SearchData), }); let json = await response.json(); if (json == 'no result') { something } else { SetDataSource(json); }}catch{ ERRoR}}我的 Authentication_Creator 是 const Authentication_Creator = async () => {var RNFS = require('react-native-fs');var path = RNFS.DocumentDirectoryPath + 'path';var data = await RNFS.readFile(path, 'utf8');var mydata = await JSON.parse(data);let hash = data;hash = md5(hash);SetUserName(() => mydata.UserName);SetUser_Authentication(() => hash);}
1 回答

寶慕林4294392
TA貢獻2021條經驗 獲得超8個贊
您必須對代碼進行一些更改,不能使用 await 用戶名,它對反應狀態沒有影響。
您可以像這樣更改 Authentication_Creator:
const Authentication_Creator = async () => {
var RNFS = require('react-native-fs');
var path = RNFS.DocumentDirectoryPath + 'path';
var data = await RNFS.readFile(path, 'utf8');
var mydata = await JSON.parse(data);
let hash = data;
hash = md5(hash);
return { user_name: myData.UserName, user_authentication: hash};
}
之后在您的數據獲取功能中:
const DataFeatch = async () => {
let SearchData = await Authentication_Creator();
// and other code
}
添加回答
舉報
0/150
提交
取消