在React组件中,我想向Redux reducer触发一个 Action ,该 Action 在按下按钮时执行API调用。
成功执行此API调用后,我希望我的reducer可以将调用已成功执行的操作分派(dispatch)到我的组件。
我的组件将以 Prop 的形式接收此调度(例如this.props.successfullyUpdated
)并将呈现窗口警报。
例如在我的渲染函数中
render() {
if (this.props.successfullyUpdated) {
return renderSuccessAlert();
}
}
我面临的问题是,我希望在每次执行API后仅显示一次此警报。因此,在调用警报之后,我不希望再次调用它,直到Redux调度了另一个
successfullyUpdated
属性。现在,一旦
successfullyUpdated
成为 Prop 的一部分,即使警报仅通过Redux分发一次,警报也会连续呈现。如何阻止这种情况发生,仅按需呈现警报? 最佳答案
似乎您缺少将successfullyUpdated
设置回false
的函数。
一旦我们进入if
语句,并且successfullyUpdated
评估为true
,则需要将其设置为false
。
render() {
if (this.props.successfullyUpdated) {
this.props.setUpdatedFalse();
return renderSuccessAlert();
}
}