Прежде всего, я прошу прощения за мой английский.
Я создал меню с помощью React Tab Navigation. Я поместил домашний экран в меню. После входа в систему я возвращаюсь к экрану меню. Если есть токен, я торгую. Но выставка не увидит его, пока не обновится.
componentDidMount или componentWillMount не работает. Есть ли другое решение?
LoginScreen.js
await AsyncStorage.setItem('userId', userId);
await AsyncStorage.setItem('fullName', fullName);
await AsyncStorage.setItem('email', email);
await AsyncStorage.setItem('token', token);
Alert.alert(
'Hoşgeldiniz',
'Başarılı bir şekilde giriş yaptınız!',
[
{ text: 'Yönlendir', onPress: () => this.props.navigation.navigate('Menu') }
]
);
MenuScreen.js
componentDidMount() {
this._retrieveData();
}
_retrieveData = async () => {
const token = await AsyncStorage.getItem('token');
if (token !== null) {
this.setState({ token: token });
}else {
this.logout();
}
};
TabNavigator
const MenuStack = createStackNavigator(
{
Menu: MenuScreen,
Login: LoginScreen,
Register: RegisterScreen
},
config
);
const tabNavigator = createBottomTabNavigator({
HomeStack,
CampaignStack,
MenuStack
});
tabNavigator.path = '';
export default tabNavigator;