React 里程碑
React 是 Mate 的内部项目,于2013年开源正式推出
V0.xx
V15
- 生命周期
V16.0(2017.9)
重写渲染架构,名曰 Fiber
- 解决 V15 在大组件中更新状态时卡顿问题
推出 createPortal API
- 让节点渲染到指定容器内
- 在 15 里,方法是 XXX
引入 componentDidCatch 钩子
- 为捕获渲染中的异常
V16.2
- 推出 Fragment,解决数组元素同级渲染问题
V16.3
- 增加 React.createRef() API,可以通过 React.createRef 取得 Ref 对象;
- 增加 React.forwardRef() API,解决高阶组件 ref 传递问题;
- 增加 getDerivedStateFromProps 和 getSnapshotBeforeUpdate 生命周期
- 推出新版本 Context api,迎接 Provider/Consumer 时代
React.createContext()
API 会被 React 包暴露出来。
V16.4
- getSnapshotBeforeUpdate 的一个变化
与 16.3 的区别在于,有一张图
V16.6
- 增加 React.memo() API,用于控制子组件渲染;
- 增加 React.lazy() API 实现代码分割;
- 增加 contextType 让类组件更便捷的使用 context;
- 增加声明周期 getDerivedStateFromError 代替 componentDidCatch
V16.8(2019.2)⭐️
- 引入 Hooks,改变了函数组件
- 支持 React Hooks,使函数组件也能像类组件那样拥有状态
V17(2020.10)过度版本
事件绑定由 document 变成 container,移除事件池
react17 jsx 就不需要引入 React(?)
V18(2022.3)
- Concurrent Mode(并发模式)
- setState 自动批处理
- 流式 SSR
- Server Component
V19 beta(2024)
其中V17-V19的详细内容更新可以看React 版本更新