美文网首页
React的生命周期函数

React的生命周期函数

作者: 灯光树影 | 来源:发表于2018-09-23 11:43 被阅读0次

一、生命周期函数的定义

在某个时刻自动被调用的函数是生命周期函数

二、React中生命周期函数示意图

lifeFuncs.png
为了记忆方便,我把componentWillXXX-render-componentDidXXX的过程简单地称为Will-render-Did
那么上面的图示就可以简化成: 生命周期.png

三、生命周期函数的调用时期

  • Initialization
    执行Constructor,初始state和props
  • Mounting
    Will:先执行,判断组件是否挂载
    render:渲染组件
    Did:组件渲染完成后执行
  • Updation
    ComponentWillReceiveProps:如果组件不是第一次存在页面且父组件render执行时,才执行
    ComponentShouldUpdate:判断组件是否需要更新,如果返回true,表示需要更新;如果返回false,则表示不需要更新
    Will:更新组件前执行
    render:state发生变化,或者父组件的render(props发生变化)执行时执行
    Did:组件更新完成后执行
  • UnMounting
    Will:组件移除之前执行
    注意:1. 如果移除组件,那么Updation中的生命周期函数不会被执行
             2. render不能省略,因为render不存在Component中,不能继承而来,需要自定义

四、生命周期函数的使用场景

  • 避免子组件不必要的更新
    我们知道如果父组件的render执行,子组件的render会被执行,重新渲染子组件。但是,父组件render的执行不一定是该子组件绑定的数据改变造成的,这就造成了子组件不必要的更新。
    解决方法:
    // 在子组件中
    ComponentRecevieProps(nextProps, nextState){
      // content是props中的一个属性
      return nextProps.content !== this.props.content
    }
    
  • 发送ajax请求
    ajax请求最好放在ComponentDidMount中
    componentDidMount(){
        // 这里使用了axios模块
        axios.get('/api/todolist')
        .then(() => {alert('success')})
        .catch(() => {alert('error')})
    }
    

相关文章

  • RN-生命周期函数(新)

    旧版生命周期函数 react 16.4 以后生命周期函数 http://projects.wojtekmaj.pl...

  • React 生命周期函数

    https://reactjs.org/docs/react-component.html React生命周期函数...

  • React的生命周期函数

    一、生命周期函数的定义 在某个时刻自动被调用的函数是生命周期函数 二、React中生命周期函数示意图 三、生命周期...

  • 04.React高级部分(中)

    React的生命周期函数 React生命周期函数的使用场景 这一小节,我们来做两个生命周期相关的常用操作1.如何避...

  • useState

    react-hooks 如果你熟悉 React class 的生命周期函数,你可以把 useEffect Hook...

  • 四:React 进阶三 (生命周期)

    react(一):组件的生命周期 生命周期函数 在组件运行的某个时刻,会被自动执行的一些函数。 React生命周期...

  • React快速上手5-react中的事件和生命周期函数

    这节中我们将主要介绍react应用中的事件和生命周期函数 React事件 在react中,我们不用addEvent...

  • 2020-09-11

    REACT生命周期 (JS胖老师课程 ) 生命周期函数指在某一个时刻组件会自动调用执行的函数 REACT生命周期的...

  • React 生命周期

    React 16.4 的生命周期图 早期React生命周期图 从图中,我们看到了一些变化 废弃的三个生命周期函数 ...

  • react生命周期函数

    react 生命周期函数介绍[https://www.cnblogs.com/kdcg/p/9182393.htm...

网友评论

      本文标题:React的生命周期函数

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