Skip to content

Latest commit

 

History

History
11 lines (6 loc) · 694 Bytes

父组件更新后子组件的状态.md

File metadata and controls

11 lines (6 loc) · 694 Bytes

当父组件 setState 后,会触发 update 阶段的生命周期,子组件有两种情况

  • 更新:无论子组件有无变化,即使是静态组件,一定会触发 update 生命周期

  • 销毁:如果父组件更新后不再引用子组件,则子组件销毁,触发 unmount

路由的逻辑也一样,因为路由就是父组件(Router)中动态展示子组件,路由的变化触发 Router 的 update,触发各个 Route 对应组件的 update 或 unmount

而 Route 对应的组件,也会包含子组件,满足同样的逻辑

子组件没有变化,也会触发 update 生命周期,针对这个现象,可以使用 shouldComponentUpdate 来减少渲染