React-useEffect()中的错误。 dat会使页面上的所有内容进入无限循环吗?

问题描述 投票:0回答:1

我已经将我所有的类组件都转换为功能组件。现在,当我在开发过程中在IDE中更改一些代码时,我的页面进入了无限循环。我几乎可以肯定useEffect()钩子上的一个条件触发变量有错误(或丢失)。但是要弄清楚哪一个会花费一些时间。

所以,我的问题是。有没有一种简单的方法来找出哪个中断会导致循环。还会在构建后或仅在开发中循环吗?

根据要求提供代码示例。这是非常基本的,因为我大约有20个使用此原理。

import React, {useEffect} from "react";

const Layout = ({ data }) => {
  useEffect(() => {
    // some jQuery stuff
  }, [data.myConditionalVar])

  return (
    <div>
     // my stuff
    </div>
  )
}
javascript reactjs components react-hooks use-effect
1个回答
1
投票
每次更改您传递的第二个参数时,都会调用

useEffect。您的情况是data.myConditionalVar

因此,我假设在useEffect内部您正在使用jquery更新data,这迫使React再次调用useEffect导致永无休止的循环。

© www.soinside.com 2019 - 2024. All rights reserved.