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



我正在使用组件WillReceiveProps来接收下一个状态,并在收到特定状态时导航到新屏幕。

//     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.navigation进入下一个屏幕。

我怎样或怎样才能达到同样的结果。

使用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

相关内容

  • 没有找到相关文章