用户12771345
React useEffect 中清理函数的真实执行时机:一个被忽略的闭包陷阱
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户12771345
社区首页
>
专栏
>
React useEffect 中清理函数的真实执行时机:一个被忽略的闭包陷阱
React useEffect 中清理函数的真实执行时机:一个被忽略的闭包陷阱
用户12771345
关注
发布于 2026-09-23 11:05:26
发布于 2026-09-23 11:05:26
23
0
举报
概述
最近在排查一个线上问题时,发现一个组件的定时器在卸载后仍然在跑,导致内存泄漏和额外的请求。代码看起来很正常:useEffect 里启动了 setInterval,返回了 clearInterval。但问题出在依赖数组上——依赖项变化时,清理函数确实执行了,可是它清理的是旧闭包里的定时器 ID,而新一次 effect 又创建了新的定时器。更隐蔽的是,当组件快速重新渲染时,清理函数和新的 effect
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
react
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档