javascript - React - useEffect() 中出现错误。这是否会使页面上的所有内容都进入无限循环?

标签 javascript reactjs components react-hooks use-effect

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

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

根据要求提供代码示例。这是非常基本的,因为我有大约 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 ,从而导致永远不会-结束循环。

关于javascript - React - useEffect() 中出现错误。这是否会使页面上的所有内容都进入无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61277459/

相关文章:

javascript - 设置数组等于另一个数组或使用三个点之间的区别

android - 使用 RN 使用条件语句隐藏元素

reactjs - react-select 不会自动滚动到所选选项

delphi - Delphi软件包:Systools-我需要它!

javascript - 火炉吓坏了

javascript - 仅当用户不滚动自己时,如何在加载时滚动页面?

javascript - 如何通过网页读写本地文件?

javascript - 构建失败 : `npm rebuild node-sass --force`

java - 如何一次设置所有 Java Swing GUI 组件背景和前景(字体)颜色?

在每个页面上运行的 Angular6 应用程序逻辑