首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >React 中 useEffect 清理函数为什么有时不执行?从闭包与渲染周期说起

React 中 useEffect 清理函数为什么有时不执行?从闭包与渲染周期说起

作者头像
用户1839651
发布于 2026-11-15 15:29:25
发布于 2026-11-15 15:29:25
100
举报
概述
在一个后台管理系统的工单详情页里,我需要用 WebSocket 监听工单状态变化,并在组件卸载时断开连接。代码写完后发现,从详情页返回列表再进入另一个工单时,旧的连接没有关闭,控制台不断出现重复消息。排查后发现,清理函数并非“没执行”,而是在某些条件下执行顺序和闭包捕获的值与预期不一致。这个问题在 React 开发中很常见,尤其是涉及事件监听、定时器、订阅、动画帧以及异步请求取消时。很多人把 us

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

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

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