生命周期有三个阶段:
- 初始化阶段:由ReactDOM.render()触发——初次渲染
- constructor()
- getDerivedStateFromProps
- render() 必须用
- componentDidMount() 常用
- 更新阶段:由组件内部this.setState()或父组件重新render触发
- getDerivedStateFromProps
- shouldComponenentUpdate()
- render()
- getSnapshotBeforeUpdate()
- componentDidUpdate()
- 卸载组件:由ReactDOM.unmountComponentAtNode()触发
- componentWillUnmount() 常用
即将废弃的钩子:componentWillMount、componentWillReceiveProps、componentWillUpdate
现在使用会出现警告,在下个大版本(V18)需要加上UNSELF_前缀才能使用,以后可能会被彻底废弃,不建议使用
重要的常用的钩子:
- render(初始化渲染或更新渲染调用)
- componentDidMount(开启监听、发送ajax请求)
- componentWillUnmount(做一些收尾工作,例如:清除定时器)