1、创建阶段

getDefaultProps:处理props的默认值 在react.createClass调用

//在创建类的时候被调用  this.props该组件的默认属性

2、实例化阶段

ReactDOM.render(<自定义组件 启动后开始实例化

getInitialState:初始化组件的state值,其返回值会赋值给组件的this.state属性;

componentWillMount:在render之前调用此方法,业务逻辑的处理都应该放在这里,如对state的操作等;

render:根据state值,渲染并返回一个虚拟DOM;

componentDidMount:该方法发生在render方法之后;在该方法中,ReactJS会使用render方法返回的虚拟DOM对象来创建真实的DOM结构,组件内部可以通过this.getDOMNode()来获取当前组件的节点;

state:组件的属性,主要是用来存储组件自身需要的数据,每次数据的更新都是通过修改state属性的值,ReactJS内部会监听state属性的变化,一旦发生变化的话,就会主动触发组件的render方法来更新虚拟DOM结构。

虚拟DOM:将真实的DOM结构映射成一个JSON数据结构

3、更新阶段

主要发生在用户操作之后或父组件有更新的时候,此时会根据用户的操作行为进行相应的页面结构的调整

componentWillReceiveProps:该方法发生在this.props被修改或父组件调用setProps()方法之后;调用this.setState()方法来完成对state的修改;

shouldComponentUpdate:用来拦截新的props或state,根据逻辑来判断是否需要更新;

componentWillUpdate:shouldComponentUpdate返回true的时候执行,组件将更新;

componentDidUpdate:组件更新完毕后在此做一些DOM操作。

4、销毁阶段

componentWillUnmount:销毁时被调用,通常做一些取消事件绑定、移除虚拟DOM中对应的组件数据结构、销毁一些无效的定时器等工作。

ReactNative——生命周期的更多相关文章

  1. react-native 生命周期

    一.前言 问: 什么是组件的生命周期? 组件的生命周期中都包含哪些方法,各有什么作用? 生命周期的方法都在什么时候调用? 生命周期: 顾名思义,一个主体从出生到死亡的整个过程 学习组件(React的基 ...

  2. React-Native控件的生命周期

    React-Native控件的生命周期

  3. React-Native 之 生命周期

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  4. ReactNative——UI2.组件生命周期

    对于习惯了iOS开发的同学,可能会对React Native中组件的生命周期很困惑.在iOS中有一个ViewDidLoad来初始化,那么在RN中,又是在哪里呢? 一.看图分析 在下图中描述了React ...

  5. React Native 中组件的生命周期

    概述 就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle).所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命 ...

  6. React Native之生命周期

    React Native生命周期主要分为三大阶段:实例化阶段(图中上框部分),存在阶段(图中左框部分),销毁阶段(图中右框部分). 如图: 下面简单讲解一下三大阶段中各自的函数: 实例化阶段: 在日常 ...

  7. react native环境搭建与生命周期

    1.搭建开发环境 英文文档:http://facebook.github.io/react-native/docs/getting-started.html 中文文档:https://reactnat ...

  8. 《React Native 精解与实战》书籍连载「React Native 中的生命周期」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  9. react学习二 生命周期

    转自:https://www.cnblogs.com/gdsblog/p/7348375.html react 中compent getDefaultProps object getDefaultPr ...

随机推荐

  1. 云计算的三层SPI模型

    (转自:http://hi.baidu.com/fengjun8216/item/b15bbef4dcf74049922af27b) 一般而言,云计算架构可以用三层SPI模型来表述. 一.基础设施即服 ...

  2. Java中利用标签跳出外层循环break

    直接看代码: class ForLoop{ public static void main(String[] args){ //jump from outer loop outer:for(int i ...

  3. 基于LoadRunner构建接口测试框架

    基于LoadRunner构建接口测试框架 http://www.docin.com/p-775544153.html

  4. 在CodedUI中使用JQuery选择器

    在CodedUI中使用JQuery选择器http://automationqa.com/forum.php?mod=viewthread&tid=3574&fromuid=29

  5. 250W电源带i7+GTX1080?

    电源的科学: Q1:电源的额定功率是什么?峰值功率又是什么?A1:电源的额定功率就是电源正常工作时的功率,它的值为用电器的额定电压乘以额定电流.而峰值功率指的是电源短时间内能达到的最大功率, 一般情况 ...

  6. NET实现微信分享和获取openid

    VS2010开发,MVC3架构. 通过调用微信官方接口实现获取openid,和分享好友功能,实现获取signature和jsapi_ticket,并在服务端进行缓存AccessToken和jsapi_ ...

  7. base.js

    function $_id(id){return document.getElementById(id)};//$只定义为通过ID返回元素的功能 //-----------------------do ...

  8. 页面头部title、description、keywords标签的优化

    页面头部优化<Head></Head>中间的区域中间的区域,我们称为网页的头部.在网页的头部中,通常存放一些介绍页面内容的信息,例如页面标题.描述及关键字等等.在头部优化中,除 ...

  9. ROC和AUC介绍以及如何计算AUC ---好!!!!

    from:https://www.douban.com/note/284051363/?type=like 原帖发表在我的博客:http://alexkong.net/2013/06/introduc ...

  10. Windows Phone后台音乐播放本地代理实现讨论

    前一篇文章讨论的wp平台音乐播放的一些遇到的问题,经过苦思冥想和多方参考安卓实现:发现我们可以考虑一种本地代理的思想来完成我们的边听边存,并且流畅拖动进度条.希望大家一起讨论.可以下载我的代码一同研究 ...