react生命周期方法

首次调用组件时,有以下方法会被调用(注意顺序,从上到下先后执行):
getDefaultProps 、getInitialState
只适合react.createClass直接创建的组件,使用ES6/ES7创建的这个方法不可使用,ES6/ES7可以使用下面方式
挂载:componentWillMount
服务器端和客户端都只调用一次,在初始化渲染执行之前立刻调用。如果在这个方法内调用 setState,render() 将会感知到更新后的 state,将会执行仅一次,尽管 state 改变了。
此时还不能访问到真实的dom结构.
挂载:componentDidMount
在初始化渲染执行之后立刻调用一次,仅客户端有效(服务器端不会调用)。在生命周期中的这个时间点,组件拥有一个 DOM 展现,你可以通过 this.getDOMNode() 来获取相应 DOM 节点。
如果想和其它 JavaScript 框架集成,使用 setTimeout 或者 setInterval 来设置定时器,或者发送 AJAX 请求,可以在该方法中执行这些操作。
更新:componentWillReceiveProps
更新:shouldComponentUpdate
更新:componentWillUpdate
更新:componentDidUpdate
移除:componentWillUnmount
componentWillUnmount()
在组件从 DOM 中移除的时候立刻被调用。
在该方法中执行任何必要的清理,比如无效的定时器,或者清除在 componentDidMount 中创建的 DOM 元素。
比如:创建的script,离开组件时候,立即清除
componentWillUnmount(){ if(document.getElementById('playerId')){ document.getElementsByTagName("head")[0].removeChild(document.getElementById('playerId')); } }
本地文件:D:\www\svn\project\react_abacus\src\components\Video.js
浙公网安备 33010602011771号