我正在使用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进入下一个屏幕。
什么或如何获得相同的结果。
答案 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