前端跳槽突围课:React18底层源码深入剖析(21章)

170 阅读1分钟

前端跳槽突围课:React18底层源码深入剖析(21章)

QQ截图20240417105409.png 在React 18之前,React采用的是基于时间分片的协调策略,它可以将大的更新任务切分为多个小的任务,从而避免阻塞用户界面。但这种策略需要手动添加时间切片代码,而且对于复杂的更新任务难以保证性能。因此,React 18引入了全新的并发模式,它可以自动将任务划分为可中断的小任务,从而更高效地利用CPU资源,提高应用的渲染速度。这个新功能被称为“React的异步渲染(asynchronous rendering)”。

一个简单的例子,来说明异步渲染的特点。假设你有一个很长的待渲染的列表,如果只是简单地将整个列表作为一个更新任务,那么当用户滚动到列表某一部分的时候,就会出现界面卡顿的情况。而当采用异步渲染的方式时,React会将列表按照一定的规则切分为多个小任务,并在每个任务之间插入优先级较低的任务,这就可以避免长时间占用CPU资源,保证用户界面的流畅性。

React 18的并发模式如何实现? React 18的并发模式主要通过两个新的API来实现:useTransition()和useDeferredValue()。