react生命周期整理

react生命周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gHhFLoVI-1647932009614)(/Users/sans/Desktop/生命周期.png)]

在React的类组件中,官方为其提供了生命周期的概念组件的生命周期大抵分为三个阶段:挂载(mount)、更新(update)、卸载(unmount)。

挂载阶段:在组件初始化中执行且只执行一次

更新阶段:当props和state改变时触发零次或多次

卸载阶段:在组件销毁时执行且只执行一次x

挂载阶段中涉及到的生命周期

1、constructor

通过给this.state赋值对象来初始化内部state
将事件处理程序方法绑定到实例。

constructor(props) {
   
  super(props);
  this.state = {
    name:sans };
  this.initData = this.initData.bind(this);
}

ps:不要把props直接赋值给state,这样操作state不会随着props更新而变化。

在constructor中不要调用setState方法,直接给this.state赋值

2、static getDerivedStateFromProps(props, state)

getDerivedStateFromProps是一个静态方法,在挂载和更新阶段时调用,可以返回一个对象来更新状态或者返回null不更新。

可以通过此生命周期函数比较新的props和之前的state中的数据,查看是否变化,再去更新state。也可以不判断直接更新state值。

static getDetivedStateFromProps(props,state){
   
  const {
    name } = props;
  // 判断新的props和之前的state是否相同,如果改变就相应更新state
  if( name != state.name)<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值