我在我的应用程序中使用React Native,React Navigation和Redux。我的应用程序包含手机号码验证屏幕,在该屏幕上,他输入号码,然后在下一个屏幕上验证OTP,然后我们检查用户是否已注册。如果他已注册,我们会将他重定向到家。
问题出在导航中,这是我将他导航到otp屏幕的代码。
static getDerivedStateFromProps(nextProps, prevState) {
if (nextProps.success !== prevState.success) {
return { success: nextProps.success };
}
return null;
}
state = {
Number: '',
success: false
}
componentDidUpdate(prevProps, prevState) {
if (prevState.success !== this.state.success) {
this.props.ResetParams();
this.props.navigation.navigate('OTPVer');
}
}
问题是,当他从OTP屏幕返回登录屏幕时,即使在重置this.props.success
后也无法导航到按钮单击的下一页,因为两者都是正确的,并且我无法在componentDidUpdate中使用setState。
是否有比这更好的导航方式?