componentWillMount(): Fired once, before initial rendering occurs. Good place to
this.getDOMNode(),可以在这个方法中执行setTimeout,setInterval或者发送AJAX请求等操作(
componentDidUpdate(object prevProps, object prevState): Invoked immediately after
the component's updates are flushed to the DOM. This method is not called for the
initial render. Use this as an opportunity to operate on the DOM when the component
when new props or state are received. return false if you know an update isn't
wire-up message listeners. this.setState doesn't work here.
。
this.getDOMNode().
this.getDOMNode(),可以在这个方法中执行setTimeout,setInterval或者发送AJAX请求等操作(
防止异部操作阻塞UI)。
component's updates are made to the DOM. Can use this.getDOMNode() for updates.
componentDidUpdate(object prevProps, object prevState): Invoked immediately after
the component's updates are flushed to the DOM. This method is not called for the
initial render. Use this as an opportunity to operate on the DOM when the component
has been updated.
用作操作DOM的机会。
DOM. Good place to remove message listeners or general clean up.
组件将不被挂载:组件从dom树上在卸载之前发生,可以移除事件监听和处理。
new props. You might want to this.setState depending on the props.
组件将要接收属性:当组件接收新的属性时,你会依靠这个属性来setState
when new props or state are received. return false if you know an update isn't
needed.
组件应该更新:当新的属性或者状态被接收到时发生,更新不是必须的就返回false.
组件的生命周期分成三个状态:
- Mounting:已插入真实 DOM
- Updating:正在被重新渲染
- Unmounting:已移出真实 DOM
React 为每个状态都提供了两种处理函数,will
函数在进入状态之前调用,did
函数在进入状态之后调用,三种状态共计五种处理函数。
- componentWillMount()
- componentDidMount()
- componentWillUpdate(object nextProps, object nextState)
- componentDidUpdate(object prevProps, object prevState)
- componentWillUnmount()
此外,React 还提供两种特殊状态的处理函数。
- componentWillReceiveProps(object nextProps):已加载组件收到新的参数时调用
- shouldComponentUpdate(object nextProps, object nextState):组件判断是否重新渲染时调用