React17没有新特性 主要侧重于升级简化 React 本身

v17.0主要的工作在于源码内部对Concurrent Mode的支持。所以v17版本也被称为“垫脚石”版本。

React Mode

React启动模式有3种
image.png
image.png

legacy模式是我们常用的,它构建dom的过程是同步的,所以在render的reconciler中,如果diff的过程特别耗时,那么导致的结果就是js一直阻塞高优先级的任务(例如用户的点击事件),表现为页面的卡顿,无法响应。

concurrent Mode是react未来的模式,它用时间片调度实现了异步可中断的任务,根据设备性能的不同,时间片的长度也不一样,在每个时间片中,如果任务到了过期时间,就会主动让出线程给高优先级的任务。

深入剖析 React Concurrent

解决了什么?如何做到的?
还有什么新的特性?

对比性能




References

https://zh-hans.reactjs.org/docs/concurrent-mode-adoption.html
https://segmentfault.com/a/1190000022606323
https://zhuanlan.zhihu.com/p/60307571
https://segmentfault.com/a/1190000022606323