美文网首页
React组件的生命周期的使用心得

React组件的生命周期的使用心得

作者: 追风的云月 | 来源:发表于2018-05-17 22:28 被阅读0次

近期在项目开发中,与组件的生命周期打交道颇多,对于其习性有了一些新的认识,在此做一个记录。

三个生命周期

  • 装载过程
  • 更新过程
  • 卸载过程

装载过程调用的函数

constructor

  1. ES6中每个类的构造函数,要创造一个类的实例,必须调用这个构造函数
  2. 作为组件中第一个被调用的函数,是初始化state最好的地方,因为state可能组件的任何周期中被访问
  3. 绑定this,在构造函数中,this就是当前组件实例。并且只会执行一次this绑定,避免多次绑定造成内存泄漏

componentWillMount

1.这个方法基本没有啥用处,在这个函数中执行setState,组件会更新state,但是渲染一次,设置state可以放在constructor中进行

render

1.render其实是返回一个JSX的描述结构,最终由react进行渲染

componentDidMount

  1. 其被调用时,render函数返回的东西已经引发了渲染,组件已经被挂载到DOM树上。
  2. 当多个组件render的时候,DidMount并不是紧贴自己组件的render函数后执行,而是所有的render调用后才会执行
  3. 因为render函数本身并不往DOM树上渲染内容,它只是返回一个JSX对象,由React库来根据对象决定如何渲染
  4. 在该函数中,进行ajax请求是最合适的时机,在其中使用setState会重新触发组件渲染
  5. 在需要react配合其它库使用时,componentDidMount时,真实dom已经存在,此时可以获取dom进行操作

更新过程

更新过程是父组件向下传递的props或者组件自身执行setState时发生的更新动作

  • componentWillReceiveProps

  1. 弄清楚该函数被调用的时机,才能正确的使用它=>父组件的render函数被调用,那么子组件的该函数被调用
  2. 父组件传入的props发生变化,就会先执行这个方法,此方法可以作为props传入后,渲染之前setState的机会,并且在这个方法中调用的setState方法是不会二次渲染的

这里说的不会造成第二次的渲染,并不是说这里的setState不会生效。在这个方法里调用setState会在组件更新完成之后在render方法执行之前更新状态,将两次的渲染合并在一起。可以在componentWillReceiveProps执行setState,但是如果你想在这个方法里获取this.state得到的将会是上一次的状态

  • shouldComponentUpdate

  1. 决定了一个组件什么时候不被渲染
  2. 更新过程中,react首先调用该函数
  3. 接收新的props和state,让开发者增加必要的条件判断,有需要时更新,没有需要时返回false,组件不在向下执行生命周期方法
  • render

  • componentDidUpdate

当一个组件被挂载后,props的变化只会触发更新过程,那么怎么使其重新挂载呢?

使用key值,每次改变组件的key时,都会使组件重新mount。其实这并不是多此一举,虽然react框架的核心在于以极小的时间和性能成本去更新组件,每次都力求只重新渲染组件中变化的那个部分,而不是整个组件的重新渲染挂载。但是某些时候,我们需要组件的重新挂载。

相关文章

  • react组件的生命周期

    第三单元(react组件的生命周期) 课程目标 灵活掌握react组件的生命周期以及组件的活动过程。 能够灵活使用...

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • React生命周期

    React生命周期 React中组件也有生命周期,也就是说也有很多钩子函数供我们使用, 组件的生命周期,我们会分为...

  • 07-02-React 类组件

    目标 掌握类组件的定义和使用; 掌握 React 组件间通信的方式; 掌握类组件的生命周期。 内容 在 React...

  • React 组件生命周期

    组件生命周期 参考阅读: component-lifecycle react组件生命周期过程说明 react 组件...

  • React总结

    [toc] 1.React组件生命周期 1.1 生命周期图 组件的生命周期的图如下: 具体可参考React 组件生...

  • React系列(六):React组件基础与生命周期

    本文主要讲解React中关于组件的使用、React特有的JSX语法以及React生命周期的使用等,具体如下: Re...

  • 学习并实现react (4)

    实现生命周期 生命周期介绍 React 生命周期图 React 子组件在父组件下的生命周期流程 实现 compon...

  • react(最近搞了一套react项目的视频 全套 有需

    React 组件生命周期在本章节中我们将讨论 React 组件的生命周期。 组件的生命周期可分成三个状态: Mou...

  • React生命周期及组件通信

    组件的生命周期 React中组件也有生命周期,也就是说也有很多钩子函数供我们使用, 组件的生命周期,我们会分为四个...

网友评论

      本文标题:React组件的生命周期的使用心得

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