如何使用异步/等待使用react-native-router-flux

时间:2018-07-18 01:39:14

标签: firebase firebase-authentication react-native-router-flux

我正在使用firebase.auth()。onAuthStateChanged检查用户是否已登录。如果是,则转到用户配置文件的路由,然后再登录。由于这是异步操作,因此我尝试使用async使其工作并使用react-native-router-flux等待,其中onEnter,firebase检查用户是否已登录。返回结果后,react-native-router流量正确路由用户。

这是我的代码,该代码自动呈现“失败”条件,而不是等待不为null的loginIn对象(它将返回为true或false)。

class RouterComponent extends Component {
  currentAuthStatus = async () => {
    this.props.checkLoginStatus();
    await this.props.loggedIn !== null;
  };
 render() {
  return (
    <Router>
      <Scene key="root" hideNavBar>
        <Scene key="auth">
          <Scene key="loadingPage" component={LoadingPage} hideNavBar on={() => this.currentAuthStatus()} success="userProfile" failure="login" />
        <Scene key="login" component={LoginForm} title="Login" />
      </Scene>
      <Scene key="main">
        <Scene key="userProfile" component={UserProfile} title="Profile" />
       </Scene>
     </Scene>

   </Router>
);

} }

0 个答案:

没有答案