在ComponentDidUpdate中显示错误会对native和redux做出反应

时间:2017-10-27 16:11:09

标签: reactjs authentication react-native error-handling redux

我尝试在使用redux进行身份验证失败时显示错误警报。我在ComponentDidUpdate中这样做

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

但问题是如果第一次尝试后出现错误,则不会显示。它不起作用,因为this.props.Error没有改变,prevProps.Error === this.props.Error

我尝试了if(this.props.Error) {}if(this.props.Error != '') {},他们给出了运行时错误。

我知道有更好的方法可以做到这一点,但我不能只想出来。请帮忙。感谢。

主要问题是在第一次失败后,如果第二次或后续失败返回相同的失败消息,反应不知道我的错误道具已经改变,它假定它们是相同的。但即使是相同的错误,我也希望显示错误。

例如,第一次尝试错误=“身份验证失败”,第二次尝试错误=“身份验证失败”。

1 个答案:

答案 0 :(得分:0)

试试此代码

shouldComponentUpdate(nextProps){
    if(nextProps.Error && nextProps.Error !== ''){
        this.setState({loading: false})
        this.dropdown.alertWithType('error', 'Error', nextProps.Error)
    }
}