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 逻辑检查中。

这样每个屏幕都会有自己的开关,可用于确定服务调用是否针对该特定屏幕。