我正在使用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>
);
}}