一.class生命周期
(react 16.4之前)
三个阶段:加载阶段 更新阶段 卸载阶段
加载阶段:
- constructor
- render
- componentDidMount
更新阶段:
- componentWillReceiveProps(props)
- shouldComponentUpdate(oldProps,newProps)
- render
- componentDidUpdate
卸载阶段: componentWillUnmount
(react 16.4以后)
三个阶段:加载阶段 更新阶段 卸载阶段
加载阶段:
- constructor
- 静态方法: getDerivedStateFromProps(nextProps,state)
1.里面没有this
2.return 的值 是改变state 如果你不想改变state 就返回return null
- render
- componentDidMount
更新阶段:
- getDerivedStateFromProps(nextProps, state)
- shouldComponentUpdate(oldProps, nextState) return true false 避免子组件重复渲染
- render
- getSnapshotBeforeUpdate(prevProps, prevState)
- componentDidUpdate
卸载阶段
- componentWillUnmount
!!!PureComponent:优化子组件渲染,自动判断基础类型数据,引用类型的指针是否改变判断子组件是否渲染