钩子简述
shouldCompenentUpdate
shouldCompenentUpdate(nextProps,nextState){} 是否需要更新组件
可以手动判断是否要进行组件更新,可根据场景灵活设置返回值,宜避免不必要的更新
可以在类组件定义时使用extends PureComponent
PureComponent会在 render 之前对比新 state 和旧 state 的每一个 key,以及新 props 和旧 props 的每一个 key。如果所有 key 的值全都一样,就不会 render;如果有任何一个 key 的值不同,就会 render。
render
- 用来展示视图
- 只能有一个根元素
- 如果想要有一个以上的根元素,可以用
<React.Fragment>包起来,简写为<>
componentDidMount
- 在元素插入页面后执行代码,依赖DOM,它没有参数
- 在这里发起加载数据的AJAX请求
- 首次渲染会执行此钩子
componentDidUpdate
- 在视图更新后执行代码
- 可以发起更新数据的AJAX请求
- 首次渲染不会执行此钩子
componentWillUnmount
- 组件将要被移除页面然后被销毁时执行的代码
- unmount过的代码不会再次mount
- 应该取消那些长期有效的请求(AJAX,timer等)