Итак, я разрабатываю свое самое первое нативное приложение React с Firebase, и в моем коде есть следующая структура:
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.
Вот мое приложение. js, где я инициализирую конфигурацию Firebase:
import * as firebase from 'firebase';
import {firebaseConfig} from './data/config';
const Stack = createStackNavigator();
firebase.initializeApp(firebaseConfig);
Я также попробовал следующее для моего экрана загрузки:
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>
)
}
Логин должен быть обработан, но вместо этого он показывает «Проверяющий сеанс», что заставляет меня думать, что оператор if вообще не выполняется.
Любые мысли / рекомендации по этому вопросу будут оценены.