React Fiber是对核心算法的一次重新实现
React 16以前,更新过程是同步的,React 16之后React Fiber将一个更新过程分为2个阶段:
- Reconciliation Phase
React Fiber会找出需要更新哪些DOM,这个阶段是可以被打断的,涉及以下生命周期:
componentWillMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
ps: 所以,以上生命周期都是可能被执行多次的,也是请求不能放在componentWillMount里的原因之一
- Commit Phase
一鼓作气把DOM更新完,绝不会被打断,涉及以下生命周期:
componentDidMount
componentDidUpdate
componentWillUnmount