Я пытаюсь сохранить статус входа пользователя в систему с помощью Asyn c Хранение, как это: на экране входа в систему:
function LoginScreen({navigation, route, props}) {
**AsyncStorage.setItem('isLoggedIn', false);**
function loginTrial() {
setIsLoggingIn(true);
fetch('https://bazarti.com/api/login', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: username.toString(),
password: password,
}),
})
.then(res => {
if (res.status === 200) {
AsyncStorage.setItem('isLoggedIn', true);
AsyncStorage.setItem('token', res.headers.get('token'));
Alert.alert('Sign-in', 'Sign-in was successful'[
{
text: 'ok',
onPress: () => navigation.navigate('UserProduct'),
},
]);
}
if (!res.status === 200) {
Alert.alert('Error', 'Invalid Creditentials', [
{
text: 'ok',
},
]);
}
})
.catch(error => console.log(error, 'error'));
}
и в навигации приложения js файл:
function AppStackNavFunc() {
let loggstat = AsyncStorage.getItem('isLoggedIn').then(res => res);
if (loggstat === false) {
return (
<AppStackNav.Navigator>
<AppStackNav.Screen
name="LoginScreen"
component={LoginScreen}
options={LoginScreen.navigationoptions}
/>
<AppStackNav.Screen
name="UserProduct"
component={UserProductScreen}
options={UserProductScreen.navigationoptions}
/>
<AppStackNav.Screen
name="CreateNewProd"
component={CreateNewProdScreen}
options={CreateNewProdScreen.navigationoptions}
/>
<AppStackNav.Screen
name="OtherUsersProd"
component={OtherUsersProdScreen}
options={OtherUsersProdScreen.navigationoptions}
/>
</AppStackNav.Navigator>
);
}
if (loggstat === true) {
return (
<AppStackNav.Navigator>
<AppStackNav.Screen
name="UserProduct"
component={UserProductScreen}
options={UserProductScreen.navigationoptions}
/>
<AppStackNav.Screen
name="CreateNewProd"
component={CreateNewProdScreen}
options={CreateNewProdScreen.navigationoptions}
/>
<AppStackNav.Screen
name="OtherUsersProd"
component={OtherUsersProdScreen}
options={OtherUsersProdScreen.navigationoptions}
/>
</AppStackNav.Navigator>
);
}
}
export default AppStackNavFunc;
проблема в том, что, по-видимому, в файле навигации приложения js, код не может прочитать isLoggedIn из AsyncStorage, а AppNavStackFun c просто ничего не делает. Как я могу правильно реализовать AsyncStorage?