(一)初始化阶段 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 销毁操作真正执行前调用