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)