componentDidUpdate 在多个屏幕上获取触发器
componentDidUpdate get triggers at multiple screens
我正在使用 redux-thunk
进行 API 通话。当响应从服务器返回时,我在 componentDidUpdate
处通过以下简单验证捕获它们
async componentDidUpdate(prevProps) {
if (this.props.successCalling && !prevProps.successCalling) {
executeSomeCode();
}
}
问题是,我在 2 个不同的屏幕上进行了 2 个相同的验证,当响应从服务器 componentDidUpdate
返回时,两个验证都得到了满足。因此它 运行 在两个不同的屏幕上都是 executeSomeCode()
。我应该如何处理这种情况?
在为特定屏幕调用服务时,您可以使用 class 级别变量,它可以充当开关,如 - true/false,其中 this.switch 最初将设置为 false。在调用服务时,只需将 class 变量更新为 true 并将该变量添加到上例中提到的 if 逻辑检查中。
这样每个屏幕都会有自己的开关,可用于确定服务调用是否针对该特定屏幕。
我正在使用 redux-thunk
进行 API 通话。当响应从服务器返回时,我在 componentDidUpdate
处通过以下简单验证捕获它们
async componentDidUpdate(prevProps) {
if (this.props.successCalling && !prevProps.successCalling) {
executeSomeCode();
}
}
问题是,我在 2 个不同的屏幕上进行了 2 个相同的验证,当响应从服务器 componentDidUpdate
返回时,两个验证都得到了满足。因此它 运行 在两个不同的屏幕上都是 executeSomeCode()
。我应该如何处理这种情况?
在为特定屏幕调用服务时,您可以使用 class 级别变量,它可以充当开关,如 - true/false,其中 this.switch 最初将设置为 false。在调用服务时,只需将 class 变量更新为 true 并将该变量添加到上例中提到的 if 逻辑检查中。
这样每个屏幕都会有自己的开关,可用于确定服务调用是否针对该特定屏幕。