跳到主要内容

窗口与渲染器约 1 分钟

flushSync

flushSync 强制让 React 的渲染与提交在返回之前完成,一直到底层的一次 applyBatch 调用。

该 root 是一个并发 root,因此 React 会在随后的微任务中提交。flushSync 会强制让渲染与提交在返回之前完成,这与 react-dom 中的行为一致。

import { flushSync } from '@gpuix/react'

flushSync(() => setSidebarOpen(true))

它只 flush React 本身,一直到底层的一次 applyBatch 调用。返回之后,原生 retained 树(包括样式与文本)就是最新的。

当一个顺序相关的 bug 依赖于提交先落地时使用它:例如先卸载再重新挂载,或者先改变状态再喂入下一个事件。