react常用生命周期的理解

第一阶段:装载阶段3个常用

constructor() render() componentDidMount()

constructor生命周期:
    (1)当react组件实例化时,是第一个运行的生命周期;
    (2)在这个生命周期中,不能使用this.setState();
    (3)在这个生命周期中,不能使用副作用(调接口、dom操作、定时器、长连接等);
    (4)不能把props和state交叉赋值;

componentDidMount生命周期:
    (1)相当于是vue中的mounted;
    (2)它表示DOM结构在浏览器中渲染已完成;
    (3)在这里可以使用任何的副作用;

render生命周期
	render函数会插入jsx生成的dom结构,react会生成一份虚拟dom树,在每一次
	组件更新时,在此react会通过其diff算法比较更新前后的新旧DOM树
	比较以后,找到最小的有差异的DOM节点,并重新渲染。

第二阶段:更新阶段3个常用

[shouldComponentUpdate()] render() componentDidUpdate()

shouldComponentUpdate(nextProps,nextState)生命周期:
    (1)相当于一个开关,如果返回true则更新机制正常执行,如果为false则更新机制停止;
    (2)在vue中是没有的;
    (3)存在的意义:可以用于性能优化,但是不常用,最新的解决方案是使用PureComponent;
    (4)理论上,这个生命周期的作用,用于精细地控制声明式变量的更新问题,
    如果变化的声明式变量参与了视图渲染则返回true,如果被变化的声明式变量
    没有直接或间接参与视图渲染,则返回false;

render:同上,每次数据改变时,重新渲染页面

componentDidUpdate生命周期:
    (1)相当于vue中的updated();
    (2)它表示DOM结构渲染更新已完成,只发生在更新阶段;
    (3)在这里,可以执行大多数的副作用,但是不建议;
    (4)在这里,可以使用this.setState(),但是要有终止条件判断。

第三阶段:卸载阶段1个常用

componentWillUnmount()

   componentWillUnmount生命周期:
  (1)一般在这里清除定时器、长连接等其他占用内存的构造器;
  (组件销毁时触发)

react完整生命周期图

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值