download:2023 React 18 系统入门 进阶实战《欢乐购》_思索IT (sisuoit.com)
什么是并发 React?
React 18 中最重要的更新内容是我们希望你永远不会考虑的:并发。我们认为这对于应用开发者而言是一件非常好的事情,尽管这对于库的维护者来说可能有点复杂。
并发渲染本身并不是一个功能。它是一个新的底层机制,使得 React 能够同时准备多个版本的 UI。你可以把并发视为一种底层实现的细节——它解锁了许多新功能因而非常有价值。React 在底层实现上使用了非常复杂的技术,如优先队列和多级缓冲。但是你不会在任何公共 API 中感知到这些。
在设计 API 时,我们刻意隐藏了实现细节。作为一名 React 开发者,你只需要关注视图是 什么 样子,然后由 React 来处理 如何 来实现,所以我们不需要 React 开发者了解并发的底层运行原理。
不过,并发模式 React 比典型的实现细节更重要──它是 React 核心渲染模型的基础性更新。因此,尽管了解并发渲染底层工作原理不是很重要,但如果是为了追求更高的技术层次,倒是值得去了解它。
并发模式的一个关键特性是渲染可中断。当首次升级到 React 18,在加入任何并发功能之前,更新内容渲染的方式和 React 之前的版本一样——通过一个单一的且不可中断的同步事务进行处理。同步渲染意味着,一旦开始渲染就无法中断,直到用户可以在屏幕上看到渲染结果。
在并发渲染中,情况并不总是如此。React 可能开始渲染一个更新,然后中途挂起,稍后又继续。它甚至可能完全放弃一个正在进行的渲染。React 保证即使渲染被中断,UI 也会保持一致。为了实现这一点,它会在整个 DOM 树被计算完毕前一直等待,完毕后再执行 DOM 变更。这样做,React 就可以在后台提前准备新的屏幕内容,而不阻塞主线程。这意味着用户输入可以被立即响应,即使存在大量渲染任务,也能有流畅的用户体验。