React组件的生命周期

戏子无情 提交于 2020-01-15 02:14:26

React组件的生命周期中有四个阶段

初始化阶段 (初始阶段)
Mounting (挂载阶段)
Updation (更新阶段)
Unmounting(销毁阶段)

初始化阶段

运行constructor()中的代码,完成对数据,state,props初始化

一,Mounting (挂载阶段)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UKbipAwP-1578995218863)(/static/upload/article/1578930208854.png)]

  1. componentWillMount()
    //组件即将被挂载到页面之前执行
  2. render()
    //渲染函数,组件挂载时执行
  3. componentDidMount()
    //组件即将被挂载到页面之后执行

二,Updation (数据更新阶段 state,props改变时执行)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4BKnz5en-1578995218863)(/static/upload/article/1578930236087.png)]

  1. shouldComponentUpdate()
    //组件数据更新前执行 必须返回一个布尔类型值 用于判断是否进行下一步操作
    //常用于性能优化,因为在react中 父组件调用render函数,会触发子组件也调用render函数,在数据没有改变的情况下 导致不必要的性能损失
   shouldComponentUpdate(nextProps,nextState){
        if(nextProps.content !== this.props.content){
            return true;
        }else{
            return  false
        }
    }
  1. componentWillUpdate()
    //组件更新数据之前执行
  2. reder()
    //再次调用render函数 比较虚拟dom 更新数据
  3. componentDidUpdate()
    //组件完成数据更新后执行
  4. componentWillReceiveProps()
    //当前组件接收了父组件传递的props参数,
    //且父组件的render函数执行之后,才会执行本函数

三,Unmounting (卸载阶段)

  1. componentWillUnmount()
    //当前组件即将从页面中卸载时执行
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!