React 中 useRef 在 useEffect 里拿不到最新值?别急着怪闭包
写业务表单时经常遇到一个隐蔽的问题:在 useEffect 里读取 useRef 保存的值,结果拿到的总是旧值,而 DOM 上明明已经更新了。很多人第一反应是闭包陷阱,于是把依赖数组补了一遍又一遍,问题依旧。这其实和闭包关系不大,根源在于 useRef 的 .current 只在渲染提交阶段被同步修改,而 Effect 的执行时机、并发渲染的调度、以及 StrictMode 的双调用都会让读取到的 .current 和界面状态不一致。这篇文章从一个真实的自动保存草稿场景出发,梳理什么情况下 useRef 会...