我使用的是React,Redux和一些antd组件
我使用this modal提醒用户注意错误,但如果你看一下,它不是一个组件,它就是一个功能,所以我现在正在使用{{1}像这样:
componentDidUpdate
问题是,如果我一次对状态进行多次更改,例如对API进行多次调用并在不同时间更改状态,则此模式会多次打开。
我可以使用state来做类似
的事情componentDidUpdate () {
if (this.props.states.ErrorReducer.displayError) {
error(() => {
this.props.dispatch(ErrorActionCreators.acceptError())
}, this.props.states.ErrorReducer.errorMessage )
}
}
但我避免使用React状态。
无论如何,我可以检查组件上是否更改了一个特定道具?
答案 0 :(得分:1)
You can use the lifecycle method, componentWillReceiveProps. This gets called every time props are updated. Here's a link for help componentWillreceiveProps and a code snippet:
componentWillReceiveProps(nextProps){
if(this.props !== nextProps){
// your code and conditions go here
}
}
You can actually compare the old props (this.props) with the new or updated props (nextProps).