版本RoadMap

React17

过度 没有新的特性和API

事件委托

在 React 17 中,React 将不再在 document 级别 attach 事件处理器,而是 attach 到 React 渲染树的根 DOM 容器中:

新的JSX转换

babel-loader会预编译JSX为React.createElement(…)

React 17中的 JSX 转换不会将 JSX 转换为 React.createElement, 而是自动从 React 的 package 中引入新的入口函数并调用。 另外此次升级不会改变 JSX 语法,旧的 JSX 转换也将继续工作。

React18

createRoot

自动批处理以减少渲染

之前是只有合成事件才会批量更新
V18之后 全部事件(原生和setTimeout)都会批量更新

Suspense

startTransition

不是特别紧急的任务,startTransition 同步
一个重要的区别是startTransition不安排在以后喜欢的setTimeout时。它立即执行。传递给的函数startTransition同步运行,但其中的任何更新都标记为“转换”。

References

https://mp.weixin.qq.com/s/5gcByTzlY_hA3I3d_AsM6g
https://zhuanlan.zhihu.com/p/425007915