每次实例化组件的时候都会经历一下几个过程;
(1)getDefaultProps 此方法用于为实例设置默认的props值,此方法只调用一次,若想在渲染前改变props值 则在此方法中修改;
(2)getInitialState 此方法用来初始化状态值 State;react是不知能用this.state.XXX = 神马 ;修改状态值要用setState({XXX:xxx})
(3)componentWillMount 在渲染前调用一次,是渲染前改变状态值的最后一次机会
(4)render 创建一个虚拟DOM ,只能通过this.props和this.state访问数据,可以返回空,false,或者JSX创建的组件,只能返回一个顶级组件,不能在中间进行DOM操作!!! 每一次state和props改变都会从新调用render方法 即会重新渲染。
(5)componentDidMount 在渲染后调用一次,若想与JQ 或者操作DOM对象,写在里面。
组件存在期间,可以通过事件改变state和props,此时会调用一下的函数:
(1)componentWillReceiveProps 当props改变时,会调用这个函数,从此获得更新state的机会。
(2)componentWillUpdate 在收到新的props或者state进行渲染之前使用该方法
(3)componentDidUpdate 在收到新的props或者state后 渲染完成之后使用改方法
组件使命完成后,(如路由跳转新页面,关闭页面等),进入组件清理期
componentWillUnmount 在组件销毁前进行一些清理工作,如变量从新初始化,清空定时器等。