componentDidUpdate在多个屏幕上获取触发器

问题描述

我正在使用redux-thunk进行API调用。从服务器返回响应时,我通过以下简单验证在componentDidUpdate处捕获了它们

async componentDidUpdate(prevProps) {
     if (this.props.successCalling && !prevProps.successCalling) {
          executeSomeCode();
     }
}

问题是,我在2个不同的屏幕上进行了2个相同的验证,当从服务器componentDidUpdate返回响应时,两个验证都得到了满足。因此,它在两个不同的屏幕上同时运行两个executeSomeCode()。我应该如何处理这种情况?

解决方法

在为特定屏幕调用服务时,您可以使用类级别的变量,该变量可以像-true / false一样用作开关,其中this.switch最初将设置为false。调用服务时,只需将该类变量更新为true,然后将该变量添加到上述示例中提到的if逻辑检查中即可。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...