首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >React useEffect 中清理函数的真实执行时机:一个被忽略的闭包陷阱

React useEffect 中清理函数的真实执行时机:一个被忽略的闭包陷阱

作者头像
用户12771345
发布2026-09-23 11:05:26
发布2026-09-23 11:05:26
230
举报
概述
最近在排查一个线上问题时,发现一个组件的定时器在卸载后仍然在跑,导致内存泄漏和额外的请求。代码看起来很正常:useEffect 里启动了 setInterval,返回了 clearInterval。但问题出在依赖数组上——依赖项变化时,清理函数确实执行了,可是它清理的是旧闭包里的定时器 ID,而新一次 effect 又创建了新的定时器。更隐蔽的是,当组件快速重新渲染时,清理函数和新的 effect

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档