跳到主要内容

React16

2025年01月04日
柏拉文
越努力,越幸运

一、React 16.0


为了解决之前大型 React 应用一次更新遍历大量虚拟 DOM 带来个卡顿问题,React 重写了核心模块 Reconciler ,启用了 Fiber 架构;为了在让节点渲染到指定容器内,更好的实现弹窗功能,推出 createPortal API;为了捕获渲染中的异常,引入 componentDidCatch 钩子,划分了错误边界。

二、React 16.2


推出 Fragment ,解决数组元素问题。

三、React 16.3


增加 React.createRef() API,可以通过 React.createRef 取得 Ref 对象。增加 React.forwardRef() API,解决高阶组件 ref 传递问题;推出新版本 context api,迎接 Provider / Consumer 时代;增加 getDerivedStateFromPropsgetSnapshotBeforeUpdate 生命周期 。

四、React 16.6


增加 React.memo() API,用于控制子组件渲染;增加 React.lazy() API 实现代码分割;增加 contextType 让类组件更便捷的使用 context;增加生命周期 getDerivedStateFromError 代替 componentDidCatch

五、React 16.8


全新 React-Hooks 支持,使函数组件也能做类组件的一切事情。