react生命周期

初始化阶段:

设置组件的默认属性

设置组件的初始化状态

componentWillMount

render

componentDidMount

运行时:

componentWillReceiveProps 触发时机:已经挂载的组件接收到新的props时触发,即使传进来的props没有发生改变也会触发这个生命周期,所以需要比较当前的props和下一次次的props,使用this.setstate()来改变this.state的值

shouldComponentUpdate 触发时机:接收到新的state和props的时候,返回bool值,现在推荐使用pureComponent代替

componentWillUpdate 触发时机: 在state和props发生改变或者shouldComponentUpdate返回值为true的时候,注意不要在里面调用this.setState(),死循环

componnentDidUpdate 触发时机:在发生更新或者componentWillUpdate触发后,

销毁阶段

componentWillUnmount 触发时机: 页面销毁前

 

PureComponent,纯组件,提高性能、少写shouldComponnetUpdate,与之前的状态进行浅比较,当改动的是引用数据的时候,并不会触发更新,慎用

16.4新的生命周期

getDerivedStateFromProps 触发时机,页面rerender,获取新的props和state的时候,配合componentDidUpdate可以实现componentWillReceiveProps功能

getSnapshotBeforeUpdate 触发时机,render之后,dom开始渲染之前

参考链接:https://segmentfault.com/a/1190000008147645

转载于:https://www.cnblogs.com/xieyandabai/p/11232220.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值