在React Native中进行身份验证的正确方法

时间:2019-02-13 08:00:37

标签: javascript reactjs react-native redux react-navigation

我在我的应用程序中使用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。

是否有比这更好的导航方式?

0 个答案:

没有答案