- 创建阶段:在ReactDom.render()启动之前被调用
getDefaultProps:获取默认的属性值,处理props的默认值,在React.createClass调用。
- 实例化阶段:
在ReactDom.render()启动之后,会调用下面一系列方法
- getInitialState:初始化组件的state值,其返回值会赋给组件的this.state属性
- componentWillMount:该方法在render方法之前调用,业务逻辑放在这里去处理
- render:根据state值,渲染并返回一个虚拟的DOM
- componentDidMount:该方法在render方法之后调用,在该方法中,ReactJS会使用render方法返回的虚拟DOM对象来创建真实的DOM结构,组件内部可以通过this.getDOMNode()来获取当前组件的节点
- state:组建的属性,主要用来存储组件自身需要的数据,每次数据更新都是通过修改state属性的值,ReactJS内部会监听state属性的变化,一旦发生变化,就会主动触发组件的render方法来更新虚拟DOM的结构
- 虚拟DOM:将真实的DOM结构映射城一个Json数据结构
- 更新阶段:主要发生在用户操作之后或父组件有更新的时候,此时会根据用户的操作行为进行相应的页面的调整
- componentWillReceiveProps:该方法发生在this.props被修改或父组件调用setProps()方法之后
调用this.setSate方法来完成对state的修改
- shouldComponentUpdate:用来拦截新的props或state,根据逻辑来判断是否需要更新
返回值为true,需要跟新;false,则不需更新
- componentWillUpdate:shouldComponentUpdate返回true的时候执行
- render:渲染组件,进行更新
注意:这里的render并不是将所有的组件都进行更新,而是根据底层的diff算法,生成需要更新的虚拟DOM数据。在该方法中最好不要对state进行修改
- componentDidUpdate:组件更新完毕
- 销毁阶段:
componentWillUnmount:销毁时被调用,通常做一些取消事件的绑定、移除虚拟DOM中对应的数据结构、销毁一些无用的定时器等工作
ReactJS组件的生命周期
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- React Native 进阶(一)--嵌入到Android原生应用中、组件的生命周期、颜色、图片、触摸事件 嵌入...
- JSX 知识准备 JSX 并不是一门全新的语言,仅仅是一个语法糖,允许开发者在javascript中编写XML语言...
- 在React Native中使用组件来封装界面模块时,整个界面就是一个大的组件,开发过程就是不断优化和拆分界面组件...
- 摘要 React中的组件类似于状态机,每个组件都被设计成为在其生命周期过程中输出稳定、语义化的标签。React组件...