React 18 的并发渲染(Concurrent Rendering)是什么?startTransition 如何使用?

并发渲染让 React 可以同时维护多个版本的 UI,根据优先级调度,保证用户输入等紧急更新优先响应。

startTransition 把某个更新标记为「可中断的低优先级更新」:

const [isPending, startTransition] = useTransition()
function handleChange(e) {
  setValue(e.target.value)              // 紧急:立即更新输入框
  startTransition(() => {                // 非紧急:可被中断
    setSearchResults(compute(e.target.value))
  })
}

要点:

同分类其他题目