
























最近在看 React 18 时,发现 18 已经默认将你的状态更新进行批处理了,不需要再像 16、17 内使用 unstable_batchedUpdates 这种 Hack Api 了~ 什么是批处理?批处理是将多个状态更新分组到单个 re-render 内,以获得更好的性能操作。 比如在同一个点击事件内更新两个 state,React 将会把它们分到一个 render 内重新渲染,看下方 demo 内的 console 可体现。 17 Batch Demo:批处理 在多个状态更新的时候,批处理可以避免不必要的重新渲染。然而在旧版本内何时批处理也并不完全一致,比如在 click 内去请求数据后再更新 state,此时 react 则不会批量更新,而是进行两次独立的更新 17 Batch Demo: 不批处理外部事件处理程序(注意 render 次数) 在 React 18 之前,React 只在事件处理程序期间批量更新。默认情况下,React 不会对 Promise、setTimeout、原生事件处理程序(native event handlers)或其他...
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。