版本RoadMap
React17
事件委托
在 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
自动批处理以减少渲染
之前是只有合成事件才会批量更新
V18之后 全部事件(原生和setTimeout)都会批量更新
Suspense
startTransition
不是特别紧急的任务,startTransition 同步
一个重要的区别是startTransition不安排在以后喜欢的setTimeout时。它立即执行。传递给的函数startTransition同步运行,但其中的任何更新都标记为“转换”。
References
https://mp.weixin.qq.com/s/5gcByTzlY_hA3I3d_AsM6g
https://zhuanlan.zhihu.com/p/425007915