react hook

为什么 react 的函数组件每次渲染执行两次?刻意为之?
这不是一个bug。在严格模式下也会有同样的行为。我们有意在开发中加倍调用渲染阶段生命周期(和使用Hooks的功能组件),以帮助人们发现由渲染中的副作用引起的问题。根据我们的经验,它们发射两次就足以让人们注意到并修复这些错误。

如果组件输出始终是props和state的函数(而不是像您的示例中那样的外部范围变量),那么开发中的双重呈现应该没有明显的效果。

https://github.com/facebook/react/issues/17786

dev 模式两次

build 执行一次,(即生产环境)

  • 页面加载时候,函数组件中的console,及hook中console会执行两次
  • 函数组件中, 书写console
  • useEffect 中
useEffect(() => {
    // v 改变时候console,执行了两次
console.log('--');
}, v)
posted @ 2022-10-18 19:58  Running00  阅读(23)  评论(0编辑  收藏  举报