用户11716263
React 闭包陷阱:useEffect 中获取不到最新 state 的原因与解法
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户11716263
社区首页
>
专栏
>
React 闭包陷阱:useEffect 中获取不到最新 state 的原因与解法
React 闭包陷阱:useEffect 中获取不到最新 state 的原因与解法
用户11716263
关注
发布于 2026-10-28 08:37:52
发布于 2026-10-28 08:37:52
60
0
举报
概述
在 React 函数组件里,useEffect 的依赖数组配错导致回调里读到旧 state,是写业务代码时很常见的一类问题。典型场景是定时器、事件监听或者异步请求回调:组件已经重新渲染,state 也更新了,但 effect 里注册的函数仍然引用着上一次渲染时捕获的变量。根本原因是 JavaScript 闭包——每次渲染都会生成一份独立的函数作用域,effect 回调在创建时绑定了当时那次渲染的
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
react
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档