React15 到 16

# React15 到 16

# 架构变化

引入 Scheduler(调度器),将递归的无法中断的更新重构为异步的可中断更新

# 生命周期变化

# v16 的生命周期

新的生命周期在流程方面,仍然遵循“挂载”、“更新”、“卸载”这三个广义的划分方式。它们分别对应到:

  • 挂载过程:
    • constructor
    • getDerivedStateFromProps
    • render
    • componentDidMount
  • 更新过程:
    • getDerivedStateFromProps
    • shouldComponentUpdate
    • render
    • getSnapshotBeforeUpdate
    • componentDidUpdate
  • 卸载过程:
    • componentWillUnmount

# 废弃了 v15 中的

componentWillMount

componentWillReceiveProps

componentWillUpdate

getSnapshotBeforeUpdate

React 废弃了哪些生命周期?为什么? (opens new window)

# Error Boundaries

React 16 开始,引入了 Error Boundaries 概念,它可以捕获它的子组件中产生的错误,记录错误日志,并展示降级内容,详见 官网 Error Boundaries (opens new window)

# React.Suspense 和 React.lazy

精读《Suspense 改变开发方式》 (opens new window)

Suspense 对 React 的意义 (opens new window)