React各个版本生命周期和作用

React 生命周期

15版本

初始化阶段
getDefaultProps

作用
该阶段主要是定义初始化props

写法:
getDefaultProps(){
return {age:18}
}

getInitState

作用
该阶段主要是初始化State

写法:
getInitState(){
return {
age :18
}
}

小总结:这2个钩子也是15版本和16版本的区别之一

16版本
更新阶段
1.constructor
作用:
1.定义状态
2.给普通函数绑定this
3.通过super 继承 props

2.compentWillMount (组件即将被挂载)
作用:
初始化事件,和给生命周期做准备,类似于VUE的beforeCreate
17版本中会被弃用

3.render
作用
1.解析 this.state 和this.props
2.将Jsx型的vdom(虚拟DOM) 渲染成对象类型的vdom
3.reder 中不允许使用 this.setState (会死循环)

4.componDidMount
作用
1.数据请求,请求之后赋值给状态
2.第三方库实例化/DOM操作

更新阶段
1.componentWillReceiveProps
作用
1.用于接收新的属性值,判断组件身上的props是否改变
在未来的17版本中是会被弃用的
2.shouldComponentUpdate
作用
1.返回false或者true 来决定组件是否要进行渲染
2.接收新旧状态,用于对比一层数据(深对比的话需要手动去对比)
3.这个钩子函数是React组件性能优化的一个方式
3.componentWillUpdate
作用:
1.组件更新前的准备
这个组件在未来的17版本中也会被弃用
4.render
作用:
和初始化阶段的作用是一致的
5.componentDidUpdate
作用:
和conpontentWillMount 相似 发送请求 或者对真实DOM 进行操作
销毁阶段
1.componentWillUnMount(组件销毁)
作用
主要是组件销毁 和清除无用的实例和事件(onscroll )还有定时器之类的
错误处理阶段
1.componentDidCatch
作用:用于捕获子组件throw 的错误 显示回退UI

17版本(也是未来版本)

1.constructor
作用基本和之前的一样 下面只讲述一下不同的地方

2.static getDerviedFromProps 代替掉了componentWillMount
这是一个静态的方法 无法使用this 参数是(新属性和旧庄台)

实际作用:提供了一次修改数据的机会 返回出一个对象里面是修改的内容

语法内容:retun { }

3.render

4.componentDidMount

更新阶段
poprs或者state变化
1.static getDerviedStateFromProps
2.shouldcomponentUpdate
3.render
4.getSnaphotBeforeUpdate (快照)
这个也是17版本新增的 主要的作用是可以在这里面发送请求 然后把结果返回出去
在下一个钩子componentDidUpdate 中接收 是一个打工仔
5.componentDidUpdate

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值