2017-10-27 13 views
0

reduxを使用して認証に失敗したときにエラーアラートを表示しようとしています。私はそうComponentDidUpdateにエラーが表示される反応するnativeとredux

if (prevProps.Error !== this.props.Error) { this.setState({loading: false}) this.dropdown.alertWithType('error', 'Error', this.props.Error) }

ようComponentDidUpdateでこれをやっているしかし、最初の試みの後にエラーが、それは表示されませんがある場合に問題があります。 this.props.Errorは変更されていません。つまり、prevProps.Error === this.props.Errorに変更されています。

if(this.props.Error) {}if(this.props.Error != '') {}を試しましたが、実行時エラーが発生します。

私はそれを行うより良い方法があると知っていますが、私はそれを理解できません。助けてください。ありがとう。

主な問題は、最初のエラーの後で、2番目以降のエラーが同じエラーメッセージを返すと、反応したときにエラーの小道具が変更されたことがわかりません。しかし、同じエラーであってもエラーを表示したい。

たとえば、最初の試行エラー= '認証失敗'、2回目の試行エラー= '認証失敗'です。

+0

を試してみたが二回目ではないでしょうか? – EnriqueDev

+0

私はあなたのエラーメッセージが認証が行われているサーバーから来ていると仮定します。ネットワークログを確認して、認証サービスから返されたデータが期待どおりのものであることを確認しましたか? – ScoobyDrew18

+0

@EnriqueDevはいあなたは正しいです。連続してログインしようとしたとき –

答えて

0

私が正しく理解している場合、あなたはそれを実行する最初の時間は、それがうまく機能するであろう、ので、このコード

shouldComponentUpdate(nextProps){ 
    if(nextProps.Error && nextProps.Error !== ''){ 
     this.setState({loading: false}) 
     this.dropdown.alertWithType('error', 'Error', nextProps.Error) 
    } 
} 
関連する問題