Skip to content

React 里程碑

V...

V15

V16.0:

  • 重写核心模块 Reconciler,启用 Fiber 架构;
    • 解决 V15,在大型 React 应用中一次更新遍历大量虚拟 DOM 带来的卡顿问题
  • 推出 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

支持 React Hooks,使函数组件也能像类组件那样拥有状态

V17

事件绑定由 document 变成 container,移除事件池

react17 jsx 就不需要引入 React(?)