并发渲染是 React 18 引入的底层渲染机制:渲染过程可中断、可恢复、可复用,React 可以同时准备多个版本的 UI。它不是多线程,而是通过时间切片把渲染拆成小块,紧急更新(如输入)可以打断非紧急更新(如大列表过滤),从而在高频更新下保持界面响应。
核心 API 是 useTransition、useDeferredValue 与 Suspense 的并发特性。startTransition 把更新标记为非紧急,渲染被打断时不会闪出中间态 fallback。易错点:并发是可选行为,只有用了 transition 等 API 才真正启用,setState 本身依然按旧语义调度;useEffect 的执行时序假设在并发下会失效,不要依赖「渲染一定连续」。追问方向:lane 优先级模型、与 Legacy 模式的差异。
const [isPending, startTransition] = useTransition()
startTransition(() => setQuery(input))