Как обновить состояние при перенаправлении React Navite? - PullRequest
0 голосов
/ 14 октября 2019

Прежде всего, я прошу прощения за мой английский.

Я создал меню с помощью 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...