reactjs - 使用钩子(Hook)多次渲染 react 功能组件

标签 reactjs react-hooks use-effect

这个问题在这里已经有了答案:





Does React batch state update functions when using hooks?

(5 个回答)


2年前关闭。




其实我没有得到这个问题的正确观点。于是寻求帮助。
我有这个状态的全功能组件。
我在这里注意到的是,当我使用 useEffect 钩子(Hook)获取数据时,我得到了正确的响应。

问题是,当我在 return 语句中执行 console.log("ok") 时,它会在控制台中多次提供输出。图像添加如下:

这是我的状态和 useEffect 钩子(Hook)

enter image description here

这是我的返回函数

enter image description here

这是我每次浏览页面时得到的控制台输出。
enter image description here

为什么 console.log("ok") 执行多次?

最佳答案

它没有执行 multiple次,它正在执行 5 次:

  • useEffect (第一次渲染)
  • setMovies
  • setHeroImage
  • setCusrrentPage
  • setTotalPages
  • useEffect具有 [] 的部门所以这只发生在第一次渲染上。然后您将更改状态 4 次,因此会发生重新渲染。这并不意味着 DOM 改变了 5 次。

    关于reactjs - 使用钩子(Hook)多次渲染 react 功能组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58697073/

    相关文章:

    reactjs - 使用 useEffect() react HOC

    javascript - 重新渲染React js组件

    reactjs - 如何根据不同的属性对 React 组件列表进行排序?

    javascript - 直接从应用程序中删除mac electronic应用程序时如何清除用户数据?

    javascript - 功能组件的哪些部分在重新渲染时运行?

    reactjs - 尽管依赖项没有变化,useEffect 仍运行无限循环

    javascript - 如何在不修改子项的情况下操作父项(css/react)

    javascript - 我想仅在reactjs中更改单击按钮(onClick)的变体或背景。我怎样才能实现它?

    javascript - 如何按值(value)对产品进行排序?

    Reactjs useEffect 获取数据后的清理功能