Как обрабатывать аутентификацию в реагировать на натив? я попытался сделать это, но я получаю экран входа в систему на несколько секунд, затем он переключается на экран карты , есть ли способ заменить его на экран spla sh и он загружается в фоновом режиме или что-то подобное
firebase.initializeApp(firebaseConfig);
const Stack = createStackNavigator();
function App() {
const [log, setlog] = React.useState();
React.useEffect(() => {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
setlog(true);
}
});
}, []);
if (log) {
return (
<NavigationContainer>
<Stack.Navigator headerMode="none">
<Stack.Screen name="Map" component={MapScreen} />
<Stack.Screen name="Profile" component={Profile} />
</Stack.Navigator>
</NavigationContainer>
);
} else {
return (
<NavigationContainer>
<Stack.Navigator headerMode="none">
<Stack.Screen name="Login" component={LoginScreen} />
<Stack.Screen name="SignUp" component={SignUpScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}
}
export default App;
Также, когда я делаю выход из системы, он показывает ошибку, в которой говорится, что NAVIGATE с полезной нагрузкой {MAP} не обрабатывается ни одним навигатором так же, когда я тоже захожу с главного экрана
signOutUser = async () => {
try {
await firebase.auth().signOut();
navigation.navigate('Login');
} catch (e) {
console.log(e);
}
};