首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >React useEffect 中 setInterval 的闭包陷阱与正确写法

React useEffect 中 setInterval 的闭包陷阱与正确写法

作者头像
用户1839651
发布于 2026-10-28 08:35:12
发布于 2026-10-28 08:35:12
420
举报
概述
在 React 函数组件里用 useEffect 启动 setInterval 做轮询或倒计时,几乎每个前端都踩过同一个坑:回调里读到的 state 永远是初始值。这个问题通常不会报错,只是数据悄悄不更新,排查时容易误判为后端接口没返回。根本原因是每次渲染都会生成新的闭包,而 setInterval 只捕获了第一次渲染时的那份变量引用。如果依赖数组里补上 state,又会导致定时器被反复清除重建,

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

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

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