【问题标题】:React-Native Firebase auth error message get stuck till second tryReact-Native Firebase 身份验证错误消息卡住直到第二次尝试
【发布时间】:2018-07-08 23:46:57
【问题描述】:

我尝试创建一个 signUp 方法,但我在错误处理方面遇到了一些问题。如果我写了一封糟糕的电子邮件,那么它会创建一个好邮件,但 errorMessage 仍处于以前的状态,但正在运行用户创建。

firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.pwd)
.then(() => this.props.navigation.navigate('Loading', this.setState({errorMessage: ''})))
.catch(error => this.setState({ errorMessage: error.message, alert(this.state.errorMessage)}));

例如:

Write: asd@gmail ->
Click button: alert nothing ->
Write: asd@gmail.com ->
Click button: alert bad email but navigate to Loading Screen (successful account creating)

有什么建议吗? :/ 谢谢!

【问题讨论】:

  • 如果我只是用简单的文本编写 errorMessage 效果很好

标签: firebase react-native firebase-authentication


【解决方案1】:

你的setState语法不正确,你需要添加一个回调,并且alert函数应该在setState的回调中。应该是这样的:

this.setState({
   errorMessage: error.message
},() => {
   alert(this.state.errorMessage);
});

【讨论】:

    【解决方案2】:

    setState你错了,应该是 this.setState({ params }, this.doSomething)

    this.setState({ errorMessage: error.message, }, alert(this.state.errorMessage))

    【讨论】:

      猜你喜欢
      • 2016-06-12
      • 1970-01-01
      • 2018-03-10
      • 2017-07-12
      • 2016-12-25
      • 2018-06-19
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多