Я новичок в React-native.Я создаю приложение с 1. модулем регистрации пользователей AppNavigator
и 2. контентной частью приложения TabNaviagtor
Когда пользователь входит в систему в первый раз, я сохраняю учетные данные пользователя в AsyncStorageв реакции-родной.Со следующего раза, когда будут доступны учетные данные, должна открыться страница с контентом (TabNavigator
), в противном случае откроется страница AppNavigator
.
Пожалуйста, помогите, как мне этого добиться?
App.Js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View,ImageBackground} from 'react-native';
import AppNavigator from './Components/AppNavigator/AppNavigator'
import bgImage from './Components/Assets/Login_BG_Image.png'
import TabNavigator from './Components/TabNavigator/TabNavigator';
import {AsyncStorage} from 'react-native';
export default class App extends Component {
state = {
isLogin : false
}
loginHandler = async() =>
{
console.log('isLogin')
const isLogin = await AsyncStorage.getItem('emailID')
console.log(isLogin + 'value')
if (isLogin !== undefined) {
console.log('Is Login Already Done show TabBar')
return (
<TabNavigator />
);
}else
{
console.log('Show Login Page')
return (
<AppNavigator />
);
}
}
render() {
return (
this.loginHandler()
);
}
}
const styles = StyleSheet.create({
container: {
flex : 1,
justifyContent: 'center',
alignItems: 'center',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
bgImage_container : {
flex : 1,
width : '100%',
height : '100%'
}
});
Это ошибка, которую я получаю
Если я изменю код
loginHandler = () =>
{
console.log('isLogin')
const isLogin = AsyncStorage.getItem('emailID')
console.log(isLogin + 'value')
if (isLogin !== undefined) {
console.log('Is Login Already Done show TabBar')
return (
<TabNavigator />
);
}else
{
console.log('Show Login Page')
return (
<AppNavigator />
);
}
}
isLogin, получая как обещание Объект
isLogin.value отображается как неопределенное.