1、react 18介绍
react18发布计划:https://react.docschina.org/blog/2021/06/08/the-plan-for-react-18.html
- automatic batching
- startTransition
-
2、并发模式
在react 18 中新加入的可选的并发渲染(concurrent rendering)机制,Concurrent 模式是一组react的新功能,可帮助应用保持响应,并根据用户的设备性能和网速进行适当的调整,在Concurrent 模式中,渲染是可中断的,不是阻塞的。
2.1更新优先级
以前更新没有优先级的概念,优先级高德更新并不能打断之前的更新,需要等前面的更新完成之后才能进行,用户对不同的操作对交互的执行速度有不同的预期,所以我们可以根据用户的预期赋予更新不同的优先级。
高优先级 用户输入、窗口缩放、拖拽事件等
- 低优先级 数据请求、文件下载等
高优先级的更新会中断正在进行的低优先级的更新。对于CPU-bound 的更新(如创建新的DOM节点和运行组件中的代码),并发意味着一个更急迫的更新可以更新可以中断已经开始的渲染。
2.2 双缓冲
当数据量很大时,绘图可能需要几秒钟甚至更长时间,而且有时还会出现闪烁现象,为了解决这些问题,可以采用双缓冲来绘图。
双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制在内存中的这个对象上,在一次性将这个对象上的图形拷贝到屏幕上,加快绘图的速度。
对于 IO-bound 的更新(例如从网络加载代码或者数据),并发意味着React甚至可以在全部数据到达之前就在内存中开始渲染,跳过加载状态。
3.搭建开发环境
vite 是一个基于浏览器原生ES模块导入的开发服务器,在开发环境下利用浏览器去解析import,在服务器端编译返回,完全跳过了打包这个概念。服务器随启随用,支持热更新,热更新的速度不会随着模块的增多而变慢。