前端实战

用 React 18 并发模式折腾了半年,踩过的状态同步坑都在这了

React 18 并发模式下,状态更新不再保证同步一致性,作者分享了五个典型陷阱:事件处理器中读取的状态可能滞后于渲染值;startTransition 内的多次 setState 非原子执行,易导致撕裂;useEffect 清理函数因渲染中断被频繁误调用;useDeferredValue 在连续高优先级更新中可能迟迟不提交;Suspense 与过渡更新交互时存在 DOM 残留问题。核心矛盾是同步心智模型与并发多版本状态的冲突。

前端实战

一个表单表单状态把 Context 撑爆的真实案例,以及为什么换成 useReducer 就稳了

当复杂表单因 Context 状态更新粒度过粗导致全树重渲染时,问题不在 Context 本身,而在于状态设计。将 `useState` 替换为 `useReducer`,并拆分 state 与 dispatch 为独立 Context,再按业务模块进一步细分为多个 Context,能让组件只订阅自身关心的数据。改造后渲染范围大幅缩小,性能从卡顿恢复至 60fps,且无需引入第三方状态库。