用户11716263
React 中 useEffect 依赖数组的陷阱:为什么你的回调总是拿到旧状态
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户11716263
社区首页
>
专栏
>
React 中 useEffect 依赖数组的陷阱:为什么你的回调总是拿到旧状态
React 中 useEffect 依赖数组的陷阱:为什么你的回调总是拿到旧状态
用户11716263
关注
发布于 2026-10-28 08:37:30
发布于 2026-10-28 08:37:30
84
0
举报
概述
在 React 函数组件里用 useEffect 处理副作用时,依赖数组写错导致闭包捕获旧值是最常见也最隐蔽的 bug 之一。典型场景是定时器、事件监听或异步请求的回调里读取 state,明明 state 已经更新,回调里却还是初始值。根源在于每次渲染都会创建新的作用域,而依赖数组为空或遗漏变量时,effect 只在挂载时执行一次,回调闭包锁死了那一轮的变量。很多人靠加 eslint-disabl
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
react
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档