我正在研究一个本机反应项目。
我有组件A,它调用组件B.
当屏幕B完成工作时,它会调用:
NavigationActions.pop({refresh: {workComplete: true}})
在屏幕A上,我有以下代码:
componentWillReceiveProps(nextProps) {
if (nextProps.workComplete) {
window.alert('work was completed');
}
}
但是,props.workComplete保持设置状态,我不知道如何取消设置,所以当在此组件中更改道具时,我会不断收到警报。
如何重置该属性值?
答案 0 :(得分:0)
不确定你的意思是什么,但每次更换道具时都会调用它,因为workComplete设置为true,它会不断提醒你。您可以将workComplete作为状态值并执行以下操作:
componentWillReceiveProps(nextProps) {
if (nextProps.workComplete !== this.state.workComplete) {
this.setState({ workComplete: true }, () => window.alert('work was completed'));
}
}