(一)初始化阶段
- getDefaultProps
- 获取实例的默认属性
- 只会在组件的第一个实例被初始化的时候调用
- 没有调用实例也是会调用
- getInitialState
- 获取实例的初始化状态
- componentWillMount
- render之前最后一次修改状态的机会
- render
- 生产虚拟的DOM节点,JSX
- 只能访问this.props和this.state
- 只有一个顶层组件
- 不允许修改状态和DOM输出
- componentDidMount
- 成功render并渲染真实DOM之后触发
- 可以修改DOM
- 组件在真正被装载时调用
- 组件已经被渲染到页面上
(二)运行中阶段
- componentWillReceiveProps
- 在组件将要接受到属性时调用(接受前)
- 父组件修改属性触发,可以修改新属性、修改状态
- shouldComponentUpdate
- 当组件在接受到新属性时调用
- 询问是否需要更新
- 返回false会阻止render调用
- componentWillUpdate
- 不能修改属性和状态
- render
- 同初始化render函数
- componentDidUpdate
- 真正的DOM被渲染完之后调用
- 可以修改DOM
(三)销毁阶段
- componentWillUnmount
- 销毁操作真正执行前调用