React17没有新特性 主要侧重于升级简化 React 本身。
v17.0
主要的工作在于源码内部对Concurrent Mode
的支持。所以v17
版本也被称为“垫脚石”版本。
React Mode
React启动模式有3种
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