【发布时间】:2020-07-25 11:39:51
【问题描述】:
所以我正在使用 Firebase 开发我的第一个 React 本机应用程序,我的代码中有以下结构:
ComponentDidMount(){
this.verifySession();
console.log("Component did mount");
}
verifySession = () =>{
console.log("inside VS");
firebase.auth().onAuthStateChanged(user =>{
if(user){
this.props.navigation.navigate('Dashboard');
console.log("dashboard");
}else{
this.props.navigation.navigate('Login');
console.log("Login");
}
});
}
问题是,我的 verifySession 函数没有被触发。实际上,我没有收到任何日志,所以我认为 ComponentDidMount 也没有被执行。此代码位于我的 LoadingScreen 组件中。
这是我初始化 Firebase conf 的 app.js:
import * as firebase from 'firebase';
import {firebaseConfig} from './data/config';
const Stack = createStackNavigator();
firebase.initializeApp(firebaseConfig);
我还为我的 LoadingScreen 尝试了以下方法:
import Dashboard from './dashboard';
import Login from './login';
render(){
firebase.auth().onAuthStateChanged(function(user){
if(user){
return (<Dashboard/>);
}else{
return (<Login/>);
}
});
return(
<View>
<Text>Verifying session...</Text>
</View>
)
}
登录应该被渲染,但它显示“验证会话”,这让我想如果语句根本没有被执行。
对此事的任何想法/建议将不胜感激。
【问题讨论】:
-
您尝试过记录 Firebase 吗?查看您的应用是否已真正连接。
标签: firebase react-native firebase-authentication react-navigation