在React组件中,我想触发一个Redux reducer的动作,该按钮按下按钮进行API调用。
成功执行此API调用后,我希望我的reducer然后调度到我的组件调用已成功执行。
我的组件将作为道具收到此调度(例如this.props.successfullyUpdated
)并将呈现窗口警报。
例如在我的渲染功能中,
render() {
if (this.props.successfullyUpdated) {
return renderSuccessAlert();
}
}
我面临的问题是,我希望每次执行API后都只显示一次此警报。因此,在调用警报后,我不想再次调用它,直到Redux发送另一个successfullyUpdated
道具。
现在,一旦successfullyUpdated
成为道具的一部分,警报就会不断呈现,即使它只是通过Redux调度一次。如何阻止这种情况发生,并且只按需呈现警报?
答案 0 :(得分:2)
您似乎缺少将successfullyUpdated
设置回false
的功能。
我们进入if
语句并successfullyUpdated
评估为true
后,您需要将其设置为false
。
render() {
if (this.props.successfullyUpdated) {
this.props.setUpdatedFalse();
return renderSuccessAlert();
}
}