Codex React 计时器与资源释放评审
EnglishCodex 安装步骤
- 打开 GitHub 固定提交的 `.agents/skills/memory-leak-review-agent/SKILL.md`,核对内容与使用条件。
- 在自己的项目中创建 `.agents/skills/memory-leak-review-agent/`,把核对后的文件保存为 `.agents/skills/memory-leak-review-agent/SKILL.md`。
- 在该项目根目录启动 Codex,输入 `$memory-leak-review-agent` 并选择同名技能。
中文摘要
检查组件卸载、依赖变化和清理函数,找出仍在运行的计时器与订阅。适用于本地 TypeScript 或 React 代码评审。
SKILL.md 中文导读
可复现示例
核对状态轮询组件的卸载行为。当前 effect 启动计时器,但没有返回清理函数。
{"component":"StatusTicker","periodMs":500,"unmountAfterMs":250,"cleanup":false}工作步骤
- 找到申请资源的 `useEffect`,确认计时器由哪个组件持有。
- 沿依赖变化和卸载检查对应释放步骤,记录缺失的清理与复现条件。
验收方法
`StatusTicker` 卸载时仍留有活跃计时器。建议用 `clearInterval` 释放同一个计时器,在卸载后推进时钟并断言新增回调次数为 0。
GitHub 原文 · 更新日期
适用环境
Codex 与一段 React 生命周期代码或可读的本地复现。
常见问题
为什么在卸载后推进模拟时钟?
它能检查组件离开后轮询是否还会继续。对应测试可直接证明计时器已经释放。