亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

導出默認不等待我的函數返回查詢。反應原生

導出默認不等待我的函數返回查詢。反應原生

Helenr 2022-10-13 16:12:50
我要登錄系統。我的導出默認不工作讀取功能。在 AsyncStorage 中讀取函數查詢 user_id。請幫我 :)應用程序.jsvar sendTabs = <TabsScreens />var sendLogin = <LoginScreens />var Read = readStore = async () => {  try {    const value = await AsyncStorage.getItem('user_id');    if (value !== null) {      return 1;    } else {      return 0;    }  } catch (e) {    alert(e);  }}var Welcome;Read().then((response) => {  if (response == 1) {    Welcome = sendTabs  } else {    Welcome = sendLogin;  }});export default () => (Welcome)
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

您可以定義新組件來處理此邏輯:


export function WelcomeScreen() {

    const [isLoggedIn, setIsLoggedIn] = React.useState(null); // null | true | false


    React.useEffect(() => {

        void async function getUserId() {

            const id = await AsyncStorage.getItem('user_id');

            setIsLoggedIn(Boolean(id)); // true -> user_id found, false -> no valid user_id found

        }();

    }, []);


    return (userId === null)

        ? <Text>Loading...</Text> // this will show until storage is checked

        : (isLoggedIn) ? <TabsScreens /> : <LoginScreens />; // depending on the value of id from storage you show tabs or login screen

}


查看完整回答
反對 回復 2022-10-13
  • 1 回答
  • 0 關注
  • 96 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號