componentDidUpdate просто обновляется после нажатия на экране - PullRequest
0 голосов
/ 27 сентября 2019

Я создаю реагирующее нативное приложение, и я столкнулся с проблемой в componentDidUpdate.Когда приложение загружает componentDidMount, вызовите API, чтобы проверить, вошел ли пользователь в систему, если это так, приложение перенаправляется на главный экран, в противном случае на экран входа в систему.Но компонент просто перенаправляет на один из этих экранов, когда я где-то нажимаю.Кто-нибудь может мне помочь?Спасибо

Следуй за моим кодом

componentDidMount(){
    this.props.restore();
    const { user, logged, error } = this.props;
    console.log("restore");
    if(user && logged) this.props.navigation.navigate('User');
  }
componentDidUpdate(prevProps) {
    const { user, logged, error } = this.props;
    console.log("test");
    if (!prevProps.error && error) Alert.alert('error', error);
    if (logged) this.props.navigation.navigate('User');
  }

1 Ответ

0 голосов
/ 27 сентября 2019

Я бы хотел увидеть полный контейнер, но, если вы не используете redux / mapStateToProps, то это, вероятно, потому, что this.props.navigation.navigate('User') вызывается в вашем componentDidUpdate, потому что во время монтирования logged равно нулюили ложьЭто может быть из-за асинхронного сетевого вызова API, который ожидает его ответа и, следовательно, logged обновляется только тогда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...