组件的生命周期

/* 生命周期介绍1.组件的生命周期,分成三个状态:Mounting :组件挂载,已插入真是DOMUpdating :组件更新,正在被重新渲染Unmouting :组件移出,已移出真是DOM

2.组件的生命周期,分为四个阶段创建, 实例化, 更新, 销毁

*/

/*方法1.Mounting 组件挂载相关方法(1)componentWillMount组件将要挂载,在render之前执行,但仅执行一次,及时多次重复渲染该组件,或者改变了组件的state(2)componentDidMount组件已经挂载,在render之后执行,同一个组件重复渲染只执行一次

2.Updating 组件更新相关方法:(1)componentWillReceiveProps(object nextProps)已加载组件收到新的props之前调用,注意组件化渲染时,则不会执行(2)shouldComponentUpdate(object nextProps,object nextState)组件判断是否重新渲染时调用.该接口实际是在组件接收到了新的props或者新的state 的时候,会理解调用,然后通过(3)componentWillUpdate(object nextProps,object nextState)组件将要更新(4)componentDidUpdate(object prevProps,object prevState)组件已经更新

3.Unmounting 组件移除相关(1)componentWillUnmount在组件将要被移除之前的时间点出发,可以利用该方法来执行一些必要的清理组件

4.生命周期中与props和state相关方法(1)getDefaultProps 设置props属性默认值(2)getInitialState 设置state属性初始值

*/

/*

生命周期各个阶段

*/

var Demo = React.createClass({    /*     一.创建阶段     流程:     只调用getDefaultProps方法

*/    getDefaultProps:function () {        //在创建类的时候被调用,设置this.props的默认值        console.log("getDeafultProps");        return {};    },    /*        二.实例化阶段        流程:        getInitialState        componentWillMount        render        componentDidMount

*/

getInitialState:function () {        console.log("getInitialState")        return null;    },    componentWillMount:function () {        //在render之前调用        console.log("componentWillMount")

},    render:function () {        //渲染并返回一个虚拟DOM        console.log("render")        return <div>hello React</div>    },

componentDidMount:function () {        //在render之后调用        //在该方法中,React会使render方法返回的虚拟DOM对象创建真实的DOM结构        console.log("componentDidMount");

},    /*    三. 更新阶段    流程:    componentWillReceiveProps    shouldComponetUpdate  如果返回值是false, 后面三个方法不执行    componentWillUpdate    render    componentDidUpdate

*/    componentWillReceiveProps:function () {        console.log("componentWillReceiveProps")    },    shouldComponentUpdate:function () {      console.log("shouldComponentUpdate")        return true;//返回false, 则不执行更新    },    componentWillUpdate:function () {        console.log("componentWillUpdate")    },    componentDidUpdate:function () {        console.log("componentDidUpdate")    },

/*    四.销毁阶段    流程:    componentWillUnmount

*/    componentWillUnmount:function () {        console.log("componentWillUnmount")    }

});

//渲染,第一次创建并加载组件ReactDOM.render(        <Demo/>,        document.getElementById("container"));//重新渲染ReactDOM.render(        <Demo/>,        document.getElementById("container"));//移除组件ReactDOM.unmountComponentAtNode(document.getElementById("container"));
时间: 2024-10-25 19:21:23

组件的生命周期的相关文章

React组件的生命周期

整个组件,从创建组件类开始,到渲染,到消亡的过程,就是组件的生命周期. 组件的生命周期可以分为三个阶段: 挂载阶段 更新阶段 卸载阶段 挂载阶段 在这个过程中,会触发以下几个事件 getDefaultProps,设置默认属性 getInitialState,设置初始状态 componentWillMount 即将挂载 render 渲染,就是挂载 componentDidMount 挂载完成 <!DOCTYPE html> <html> <head> <meta

Android React Native组件的生命周期及回调函数

熟悉android的童鞋应该都清楚,android是有生命周期的,其很多组件也是有生命周期.今天小编和大家分享的React Native组件的生命周期,还不了解的童鞋,赶紧来围观吧 在android开发中,React Native组件的生命周期,大致分为三个阶段,分别是: 1.组件第一次绘制阶段,这个阶段主要是组件的加载和初始化: 2.组件在运行和交互阶段,这个阶段组件可以处理用户交互,或者接收事件更新界面: 3.组件卸载消亡的阶段,这个阶段主要是组件的清理工作. 在Android React

ExtJS关于组件Component生命周期

extjs组件生命周期大体分为3个阶段:初始化.渲染.销毁. 第一阶段:初始化 初始化工作开始于组件的诞生,所有必须的配置设定.事件注册.预渲染处理等都在此时进行. 1.应用组件的配置: 当初始化一个组件的实例时,传递的组件配置对象包含了希望让组件拥有的所有功能,这些都是在Ext.Component基类的前几行代码完成的. 2.注册事件: 诸如enable/disable,show,hide,render,destory,state restore,state save等等事件,是所有继承于Ex

android四大基础组件--Service生命周期详解

android四大基础组件--ServiceService 生命周期详解 1.Service的生命周期: I> 在非绑定Service情况下,只有oncreate(),onStartCommand(),onDestory()方法情况下:  操作方法对应生命周期一: a.[执行startService(Intent)] 执行生命周期方法:oncreate()--->onStartCommand(): b.[执行stopService(Intent)] 执行生命周期方法:onDestory();

ReactJS入门3:组件的生命周期

本文主要介绍组件的生命周期. 组建的生命周期主要分为3个:Mounting.Updating.Unmounting. 1. Mounting:组件被加载到DOM     在本阶段,主要有三个方法: 1.1 getInitialState():object 设置初始状态 1.2 componentWillMount() Mounting发生前调用 1.3 componentDidMount() Mounting发生后调用.该方法主要用于请求DOM节点的初始化. 2.Updating:DOM更新,组

老调长谈的Flex 4.6 可视组件的生命周期

本文参考Adobe flex 4.6 help,写作目的仅为了个人加强记忆与体会 Flex 4以上版本中,可视组件分为spark和halo两套,spark用组件类和皮肤类的分离大大提高了对自定义外观的支持,特别是对于某些子皮肤部件移动位置改变布局的自定义外观,再也不需要大费周章的重写组件的updateDisplay方法了. 两套组件在生命周期上其实差别不大 spark组件 var btn:Button=new Button(); btn.label="按钮"; var box:VGro

Android React Native组件的生命周期

和Android一样,React的组件也有对应的生命周期.Android React Native组件的生命周期可以总的概括为下面这一张图. 可以把组件生命周期大致分为三个阶段: 第一阶段:是组件第一次绘制阶段,如图中的上面虚线框内,在这里完成了组件的加载和初始化: 第二阶段:是组件在运行和交互阶段,如图中左下角虚线框,这个阶段组件可以处理用户交互,或者接收事件更新界面: 第三阶段:是组件卸载消亡的阶段,如图中右下角的虚线框中,这里做一些组件的清理工作. 生命周期回调函数总共有10个. obje

Tomcat 8(九)解读Tomcat组件的生命周期(Lifecycle)

Tomcat 8(七)解读Bootstrap介绍过.运行startup.bat.将引发Tomcat一连串组件的启动.事实上这一连串启动是通过组件的生命周期(Lifecycle)实现的 今天来看看Lifecycle设计.解读Lifecycle.涉及到例如以下几个类 Lifecycle.LifecycleState.LifecycleEvent.LifecycleListener(位于org.apache.catalina) LifecycleBase.LifecycleSupport.Lifecy

react.js 从零开始(二)组件的生命周期

什么是生命周期? 组件本质上是一个状态机,输入确定,输出一定确定. 当状态改变的时候 会触发不同的钩子函数,可以让开发者做出响应.. 一个组件的生命周期可以概括为 初始化:状态下 可以自定义的函数 getDefaultProps object getDefaultProps() 在组件类创建的时候调用一次,然后返回值被缓存下来.如果父组件没有指定 props 中的某个键,则此处返回的对象中的相应属性将会合并到 this.props (使用 in 检测属性). 该方法在任何实例创建之前调用,因此不