You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React空依赖数组的useEffect为何执行两次?

React useEffect 空依赖却执行两次的原因

这是React 18+版本在**开发环境严格模式(Strict Mode)**下的默认行为:

  • 开发模式中,Strict Mode会刻意重复执行组件的挂载相关逻辑(包括空依赖数组的useEffect),目的是帮你检测副作用代码里的潜在问题——比如未清理的定时器、订阅,或者其他可能导致内存泄漏的操作。
  • 生产环境下,这个重复执行的机制会被禁用,此时空依赖的useEffect只会在组件挂载完成后执行一次。

如果想临时验证这个结论,可以移除根组件外层的<StrictMode>标签,控制台就只会打印一次日志,但不建议在日常开发中这么做,Strict Mode的检测能帮你提前规避很多线上问题。

内容的提问来源于stack exchange,提问作者Paras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:31:40