react小记 组件的生命周期

2018-05-21  本文已影响0人  折梅踏雪

react组件的生命周期,分为三个过程:

1,装载过程(mount),也就是把组件第一次在DOM中渲染的过程,

2,更新过程(update),当组件被重新渲染的过程,

3,卸载过程(unMount),组件从DOM中删除的过程。

三种不同的过程,React库会依次调用组件的一些成员函数,这些函数称为生命周期函数。所以要定制一个React组件,实际就是定制这些生命周期函数。

装载过程,当组件第一次被渲染的时候,依次调用的函数如下:

constructor,getInitialState,getDEfaultProps,componentWillMount,render,componentDidMount

优化:在render函数中调用this.setState毫无疑问是错误的,因为一个纯函数不应该引起状态的改变。

装载过程:

componentWillMount和componentDidMount这对兄弟函数还有一个区别,就是coponentWillMount可以在服务器端被调用,也可以在浏览器端被调用。而componentDidMount只能在浏览器端被调用,在服务器端使用React的时候不会被调用。

更新过程:

更新过程会依次调用下面的生命周期函数,其中render函数和装载过程一样,没有差别。

componentWillReceiveProps

shouldComponentUpdate

componentWillUpdate

render

componentDidUpdate

1,componentWillReceiveProps,只要是父组件的render函数被调用,在render函数里面被渲染的子组件就会经历更新过程,不管父组件传给自组件的props有没有改变,都会触发子组件的componentWillReceiveProps函数。

通过this.setState方法触发的更新过程不会调用这个函数,这是因为这个函数适合根据新的props值来计算出是不是要更新内部状态state。

上一篇下一篇

猜你喜欢

热点阅读