React SCU
父组件更新导致子树更新时, 子组件树中的组件会经历一个优化阶段 称之为 SCU
PureComponent, shouldComponentUpdate
- 纯组件和shouldComponentUpdate 方法
纯组件 React 会自动使用 shadowEqual 比较 属性来判断组件是否需要更新
shouldComponentUpdate React 会使用该方法来判断是否更新该组件
childContextTypes, contextTypes, getChildContext 和 React.Context
- childContextTypes, contextTypes, getChildContext 是旧的Context方案
- 旧的Context 是遇到一个 getChildContext 则将 context 压栈, 当组件更新完毕时, context 出栈, 碰到 contextTypes时 根据已经拥有的context值和contextTypes来计算context
Context 与 SCU
- 旧的Context在
SCU
为ture
时, 不会重新渲染子节点 - 新的Context在碰到
Context.Provider
的时候会将所有的子节点为Context.Consumer
之间的节点标志为需要更新
网友评论