当前位置: 首页 > 知识库问答 >
问题:

javascript - react如何处理循环依赖问题?

楚嘉
2023-07-27

a、b的变动都会调用ajax()
而且a变动的时候b也会发生变化,现在的问题是a变化的时候自己调用了一次ajax()并且引起了b变化,又触发了ajax()请问这种场景怎么处理?

useEffect(() => {   ajax()}, [a, b])useEffect(() => {   setState(b)}, [a])

共有1个答案

喻昀
2023-07-27
const [isAChanging, setIsAChanging] = useState(false);useEffect(() => {  setIsAChanging(true);  ajax();  setState(b);  setIsAChanging(false);}, [a]);useEffect(() => {  if (!isAChanging) {    ajax();  }}, [b]);
 类似资料:
  • 问题内容: 我最近一直在使用nodejs,并且仍然要处理模块系统,因此很抱歉这是一个明显的问题。我想要大致如下的代码: a.js (主文件与节点一起运行) b.js 我的问题似乎是我无法从ClassB实例中访问ClassA实例。 有没有正确/更好的方法来构造模块来实现我想要的?是否有更好的方式在模块之间共享变量? 问题答案: 尽管node.js确实允许循环依赖,但正如您所发现的那样,它可能很杂乱,

  • 我最近一直在使用nodejs,并且仍然在掌握模块系统,所以如果这是一个明显的问题,请原谅。我想要大致如下的代码: a.js(主文件与节点一起运行) b.js 我的问题似乎是我无法从ClassB的实例中访问ClassA的实例。 有没有正确/更好的方法来构建模块以实现我想要的?有没有更好的方法在模块之间共享变量?

  • 问题内容: 在我的系统中,我在浏览器中加载了许多“类”,在开发过程中,每个类都有单独的文件,并串联在一起进行生产。加载它们时,它们在全局对象(这里)上初始化一个属性,如以下示例所示: 我考虑使用James Burke的建议,而不是使用自己的全局对象,而是考虑使每个类都具有自己的AMD模块: 问题在于,以前在Employee和Company之间没有声明时间依赖关系:您可以按所需的顺序放置声明,但是现

  • 问题内容: 我正在设计一个系统,其中包含两个模块,一个模块孕育文件,另一个模块。对于某些逻辑运算,它们需要彼此提供的服务。 每个模块都由一个单例表示,该单例实现一个接口,该接口向彼此提供一些服务,并带有抽象工厂来提供它们,如下所示: 文件模块的主类是这样的: 我不确定自己是否正确处理了循环依赖。有什么办法可能会意外中断? 编辑 :正如下面已回答的那样,处理此问题的正确方法是注射。但是,解决此问题的

  • 我在一个ARM模板中有两个相互依赖的Azure资源:一个密钥库和一个service fabric集群。 是否有一种方法可以引用service fabric集群的对象ID来提供给密钥库的访问策略,是否有一种方法可以在不硬编码任何值的情况下生成密钥库中的机密?理想情况下,我们只知道秘密名称,并且只将该秘密名称提供给ARM模板中的服务fabric集群。

  • 问题内容: 我有一个模块化的maven项目,其中两个模块“ BIZ”和“ EJB”包含如下内容: 如您所见, “ EJB”依赖于“ BIZ”, 因为它使用 MyClassX (实际上,它使用了BIZ的几种类别)。这就是 ImplFactory 使用反射实例化 InterfaceImpl 的原因。问题是 cl.newInstance() 将抛出 ClassCastException, 因为这两个模块