导出默认不等待我的函数返回查询。反应原生

我要登录系统。我的导出默认不工作读取功能。在 AsyncStorage 中读取函数查询 user_id。请帮我 :)

应用程序.js

var 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)


Helenr
浏览 103回答 1
1回答

沧海一幻觉

您可以定义新组件来处理此逻辑:export function WelcomeScreen() {&nbsp; &nbsp; const [isLoggedIn, setIsLoggedIn] = React.useState(null); // null | true | false&nbsp; &nbsp; React.useEffect(() => {&nbsp; &nbsp; &nbsp; &nbsp; void async function getUserId() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const id = await AsyncStorage.getItem('user_id');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setIsLoggedIn(Boolean(id)); // true -> user_id found, false -> no valid user_id found&nbsp; &nbsp; &nbsp; &nbsp; }();&nbsp; &nbsp; }, []);&nbsp; &nbsp; return (userId === null)&nbsp; &nbsp; &nbsp; &nbsp; ? <Text>Loading...</Text> // this will show until storage is checked&nbsp; &nbsp; &nbsp; &nbsp; : (isLoggedIn) ? <TabsScreens /> : <LoginScreens />; // depending on the value of id from storage you show tabs or login screen}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript