我正在使用firebase.auth() . onAuthStateChanged来检查用户是否已登录 . 如果是那么路由到userProfile ELSE路由登录 . 由于这是一个异步操作,我正在尝试使用async和await与react-native-router-flux一起使用onInnter,firebase检查用户是否已登录 . 一旦返回结果,react-native-router flux正确地路由用户 .

这是我的代码,它自动呈现“失败”条件,而不是等待非null的loggedIn对象(它将返回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>
);

}}