超哥前端记录
React 中 useEffect 依赖数组的闭包陷阱:为什么你的定时器总在读取旧值?
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
超哥前端记录
社区首页
>
专栏
>
React 中 useEffect 依赖数组的闭包陷阱:为什么你的定时器总在读取旧值?
React 中 useEffect 依赖数组的闭包陷阱:为什么你的定时器总在读取旧值?
超哥前端记录
关注
发布于 2026-10-09 09:40:25
发布于 2026-10-09 09:40:25
8
0
举报
概述
在 React 函数组件里用 useEffect 处理定时器、事件订阅或者异步请求时,经常会遇到一个隐蔽的问题:回调函数里拿到的 state 或 props 永远是初始值,而不是最新的值。比如一个计数器每秒加一,但定时器里 count 始终是 0;或者一个搜索框,输入变化后发请求,但拿到的一直是第一次的输入。这类问题通常被叫做“闭包陷阱”或“陈旧闭包”,根源在于每次渲染都有独立的函数作用域和 st
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
react
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档