React Native:componentWillReceiveProps已被弃用,我应该使用什么导航

时间:2018-10-28 04:19:24

标签: react-native routing navigation state

我正在使用componentWillReceiveProps来接收nextstate并在收到某些状态时导航到新屏幕。

//     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 :(得分:0)

使用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);
     }
 }

我也不确定为什么要调用方法参数prevProps,因为componentWillReceiveProps实际上会收到nextProps