超哥前端记录
React 闭包陷阱:为什么你的定时器里拿不到最新的 state?
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
超哥前端记录
社区首页
>
专栏
>
React 闭包陷阱:为什么你的定时器里拿不到最新的 state?
React 闭包陷阱:为什么你的定时器里拿不到最新的 state?
超哥前端记录
关注
发布于 2026-10-07 09:45:33
发布于 2026-10-07 09:45:33
20
0
举报
概述
在 React 函数组件里,如果你在 useEffect 中启动了一个 setInterval,并且在回调里读取某个 state,十有八九会发现回调里拿到的永远是初始值。这不是 bug,而是 JavaScript 闭包和 React 渲染机制共同作用的结果。函数组件每次渲染都会创建全新的作用域,每个作用域里的 state 和 props 都是那一次渲染时的快照。useEffect 默认只在挂载时执
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
react
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档