美文网首页
react小记 组件的生命周期

react小记 组件的生命周期

作者: 折梅踏雪 | 来源:发表于2018-05-21 10:46 被阅读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。

    相关文章

      网友评论

          本文标题:react小记 组件的生命周期

          本文链接:https://www.haomeiwen.com/subject/amoglftx.html