我已经将我所有的类组件都转换为功能组件。现在,当我在开发过程中在IDE中更改一些代码时,我的页面进入了无限循环。我几乎可以肯定useEffect()
钩子上的一个条件触发变量有错误(或丢失)。但是要弄清楚哪一个会花费一些时间。
所以,我的问题是。有没有一种简单的方法来找出哪个中断会导致循环。还会在构建后或仅在开发中循环吗?
根据要求提供代码示例。这是非常基本的,因为我大约有20个使用此原理。
import React, {useEffect} from "react";
const Layout = ({ data }) => {
useEffect(() => {
// some jQuery stuff
}, [data.myConditionalVar])
return (
<div>
// my stuff
</div>
)
}
useEffect
。您的情况是data.myConditionalVar
。
因此,我假设在useEffect
内部您正在使用jquery更新data
,这迫使React再次调用useEffect
导致永无休止的循环。