React Native: componentWillReceiveProps устарел, что я должен использовать для навигации - PullRequest
0 голосов
/ 28 октября 2018

Я использую componentWillReceiveProps для получения следующих состояний и перехода на новый экран, если получено определенное состояние.

//     if(this.props.success !== prevProps.success && this.props.success) {
//         this.props.navigation.navigate('Attendances');
//     }
//     else if (this.props.error !== prevProps.error && this.props.error) {
//         alert(this.props.errorMessage);

Поскольку новая функция GetDerivedStatesFromProps является статической функцией, поэтому я не могу использовать this.props.navigation.navigate для перехода к следующему экрану.

Что или как мне достичьтот же результат.

1 Ответ

0 голосов
/ 28 октября 2018

Использовать componentDidUpdate:

  componentDidUpdate(prevProps) {
     if(this.props.success !== prevProps.success && this.props.success) {
       this.props.navigation.navigate('Attendances');
     } else if (this.props.error !== prevProps.error && this.props.error) {
       alert(this.props.errorMessage);
     }
 }

Также я не уверен, почему вы вызываете свой метод param prevProps, так как componentWillReceiveProps фактически получает nextProps

...