本人是转载kiinlam github

实例化

首次实例化

  • getDefaultProps
  • getInitialState
  • componentWillMount
  • render
  • componentDidMount

实例化完成后的更新

  • getInitialState
  • componentWillMount
  • render
  • compoentDidMount

存在期

组件已存在时的状态改变

  • componentWillReceiveProps
  • shouldComponentUpdate
  • componentWillUpdate
  • render
  • componentDidUpdate

销毁&清理期

  • componentWillUnmount

说明

生命周期共提供了10个不同的API。

1.getDefaultProps

作用于组件类,只调用一次,返回对象用于设置默认的props,对于引用值,会在实例中共享。

2.getInitialState

作用于组件的实例,在实例创建时调用一次,用于初始化每个实例的state,此时可以访问this.props

3.componentWillMount

在完成首次渲染之前调用,此时仍可以修改组件的state。

4.render

必选的方法,创建虚拟DOM,该方法具有特殊的规则:

  • 只能通过this.propsthis.state访问数据
  • 可以返回nullfalse或任何React组件
  • 只能出现一个顶级组件(不能返回数组)
  • 不能改变组件的状态
  • 不能修改DOM的输出

5.componentDidMount

真实的DOM被渲染出来后调用,在该方法中可通过this.getDOMNode()访问到真实的DOM元素。此时已可以使用其他类库来操作这个DOM。

在服务端中,该方法不会被调用。

6.componentWillReceiveProps

组件接收到新的props时调用,并将其作为参数nextProps使用,此时可以更改组件propsstate

    componentWillReceiveProps: function(nextProps) {if (nextProps.bool) {this.setState({bool: true});}}

7.shouldComponentUpdate

组件是否应当渲染新的propsstate,返回false表示跳过后续的生命周期方法,通常不需要使用以避免出现bug。在出现应用的瓶颈时,可通过该方法进行适当的优化。

在首次渲染期间或者调用了forceUpdate方法后,该方法不会被调用

8.componentWillUpdate

接收到新的props或者state后,进行渲染之前调用,此时不允许更新propsstate

9.componentDidUpdate

完成渲染新的props或者state后调用,此时可以访问到新的DOM元素。

10.componentWillUnmount

组件被移除之前被调用,可以用于做一些清理工作,在componentDidMount方法中添加的所有任务都需要在该方法中撤销,比如创建的定时器或添加的事件监听器。

转载于:https://www.cnblogs.com/shirly77/p/6697513.html

React的生命周期相关推荐

  1. 附实例!图解React的生命周期及执行顺序

    本文由云+社区发表 作者:前端林子 1.七个可选的生命周期 可以结合下图来看: (1) componentWillMount() 仅在render()方法前被调用一次,如果在该方法中调用了setSta ...

  2. react组件生命周期_React组件生命周期-挂钩/方法介绍

    react组件生命周期 React components have several lifecycle methods that you can override to run your code a ...

  3. [react] 说说react的生命周期有哪些?

    [react] 说说react的生命周期有哪些? 装载阶段 组件第一次被渲染时的阶段,这一阶段相关的生命周期函数有: constructor componentWillMount render com ...

  4. react初识生命周期

    好多朋友都在问我react生命周期执行的顺序 今天就说一下吧, react有三种构建组件的方法: 第一呢,就是React.createClass(),ES5写法现在用的比较少 第二呢:ES6 clas ...

  5. react常用生命周期流程图

    简述 本文将常用的react生命周期绘制成了一张流程图,便于理解和记忆; react中每个组件都包含"生命周期方法",我们可以重写这些方法,以便于在运行过程中特定的阶段执行这些方法 ...

  6. react之生命周期

    目录 一.什么是react? 二.react的生命周期 三.对于react生命周期的思考 熟练使用react开发项目之后,最近在学习react的底层原理以及源码,顺便总结一下react的生命周期. 一 ...

  7. React的生命周期(面试必问)

    React的生命周期 两张图带你理解 React的生命周期 React的生命周期(旧) class Life extends React.Component{// 构造器constructor(pro ...

  8. 简单认识React的生命周期

    一. React的生命周期 这里render渲染函数会执行两次,第一次是当组件初始化完成的时候,第二次是当组件完成从数据的修改的时候再执行一次 1.创建和初始化到的生命周期: (1) getDefau ...

  9. React 组件生命周期

    组件的生命周期可分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmounting:已移出真实 DOM 生命周期的方法有: componentWillMoun ...

最新文章

  1. Hibernate 关联 set 和 list 对比
  2. 51Testing第二十一期软件测试免费沙龙开始报名(上海)
  3. JavaScript学习总结(三)——逻辑And运算符详解
  4. 《零基础看得懂的C语言入门教程 》——(六)轻轻松松了解C语言的逻辑运算
  5. 台式电脑耳机插孔在哪_吉林戴尔电脑音箱维修app,查看详情_曹操闪修
  6. kubernetes怎么读_每个 Kubernetes 应聘者应该知道的 5 个面试题 | Linux 中国
  7. 使用java实现持续移动的小球
  8. 生产者与消费者模式(python 版)
  9. 畅游互联的API接口如何对接到自己的网站上?
  10. centos6 docker1.7 存储方式修改
  11. Java输入流输出流读取文件
  12. 编程求完全二叉树的叶子结点数
  13. 从互联网跳到传统企业,我再也不精神内耗了
  14. 2019第十届蓝桥杯JAVA B组题目分析
  15. 构造方法 梯形面积
  16. vue-购物车小球抛物线
  17. 海思android随笔之工厂菜单PQ acm color调用流程
  18. 微信分享小功能后端接口简单实现
  19. 【转载】C++的就业状况与方案。
  20. java中getDelta是什么意思_什么Delta编码/压缩算法库有Java?

热门文章

  1. ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
  2. 查找任意数目参数的最大值
  3. CentOS 6.3 下编译Nginx(笔记整理)
  4. ActionBar之style出现Cannot resolve symbol 'Theme' 错误
  5. 使用 Visual Studio 编译 wget 为库文件
  6. winforms中限定上传文件类型
  7. bind1st bind2nd的使用
  8. 产品经理思维模型:用户体验要素
  9. 计算机在智慧交通的应用论文,智能交通的毕业论文
  10. Spring MVC 登录拦截器