论坛凯发推荐首页 web前端技术论坛

前端跳槽突围课:react18底层源码深入剖析(21章) -欧洲杯足彩官网

浏览 28 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:20 小时前  
前端跳槽突围课:react18底层源码深入剖析(21章)
网盘地址:https://pan.baidu.com/s/1wuhhvv9-wyqlzvty0xkvia 提取码:o6kt
腾讯微云下载地址:https://share.weiyun.com/ctt8hykc 密码:254jp6


并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

并发的关键是具备处理多个任务的能力,但不是在同一时刻处理,而是交替处理多个任务。比如吃饭到一半,开始打电话,打电话到一半发现信号不好挂断了,继续吃饭,又来电话了…但是每次只会处理一个任务。

react 中的视觉更新主要分为两个阶段:渲染阶段与提交阶段。这里的渲染阶段属于纯计算阶段,期间 react 元素与现有 dom 进行协调(即比较)。此阶段需要创建新的 react 元素树,也被称为“虚拟 dom”,它本质上就是 dom 在轻量级内存中的表示形式。

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

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

react 18的并发模式如何实现?
react 18的并发模式主要通过两个新的api来实现:usetransition()和usedeferredvalue()。
 
global site tag (gtag.js) - google analytics
网站地图