react生命周期总结

react生命周期

react生命周期】

react官网生命周期图

生命周期方法的理解

  • 首先生命周期分为三个阶段,他们分别是挂载是,更行时,还有卸载时的生命周期函数

挂载时期的生命周期函数

  • 首先我们需要执行constructor构造器函数,来初始化状态(state)和挂载实例方法
  • 然后最新的生命周期中去除了 componentWillMount 这个方法
  • 添加了 getDerivedStateFromProps()这个生命周期函数,会在调用 render 方法之前调用,并且在初始挂载及后续更新时都会被调用。它应返回一个对象来更新 state,如果返回 null 则不更新任何内容
  • 然后进行到 render()函数 ,渲染dom 挂载到页面上
  • 然后是 componentDidMount 这个方法会在组件挂载后(插入 DOM 树中)立即调用。依赖于 DOM 节点的初始化应该放在这里。如需通过网络请求获取数据,此处是实例化请求的好地方
  • 以上是在挂载时期的常用的生命周期函数

更新时的生命周期函数

  • 首先在更新时触发 getDerivedStateFromProps()+ 然后是shouldComponentUpdate() 根据 shouldComponentUpdate() 的返回值,判断 React 组件的输出是否受当前 state 或 props 更改的影响,判断是否更新组件,默认是true 表示重新渲染组件
  • 然后才是 render() 方法
  • 然后是getSnapshotBeforeUpdate()渲染输出(提交到 DOM 节点)之前调用。它使得组件能在发生更改之前从 DOM 中捕获一些信息
  • 然后是componentDidUpdate这个函数是在数据更新之后,并且dom上的数据也更新之后才会触发的函数

销毁阶段的生命周期函数

  • componentWillUnmount 会在组件卸载及销毁之前直接调用。在此方法中执行必要的清理操作

另外关于render()函数的理解

  • 个人理解 render函数只是把组件渲染成了虚拟dom元素,挂载的这个操作应该不是render这个方法执行的。
Vue和React是两个常用的前端框架,它们都有自己的生命周期函数用于管理组件的创建、更新和销毁过程。 Vue的生命周期函数包括初始化、创建、挂载、更新和销毁等几个阶段。具体来说,Vue的生命周期函数按照顺序包括: 1. beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前调用。 2. created:在实例创建完成后调用,此时实例已经完成了数据观测 (data observer),属性和方法的运算,watch/event 事件回调。但是还未开始DOM编译。 3. beforeMount:在挂载开始之前被调用,此时尚未生成真实的DOM节点。 4. mounted:在挂载完成后被调用,此时组件已经生成了对应的真实DOM节点,可以对DOM进行操作。 5. beforeUpdate:在数据更新之前被调用,可以在这个钩子里进行更新前的操作。 6. updated:在数据更新完成后被调用,可以在这个钩子里进行更新后的操作。 7. beforeDestroy:在实例销毁之前调用,可以在这个钩子里进行一些清理工作。 8. destroyed:在实例销毁之后调用,此时实例中的所有指令及事件监听器都已经被移除。 React生命周期函数则有一些不同,主要包括: 1. constructor:在组件被创建时调用,用于初始化状态和绑定事件处理方法。 2. render:用于渲染组件的内容,返回一个React元素。 3. componentDidMount:在组件挂载到DOM后调用,可以进行一些需要DOM操作的初始化工作。 4. componentDidUpdate:在组件更新后被调用,可以进行一些需要DOM操作的更新工作。 5. componentWillUnmount:在组件即将从DOM中移除时调用,可以进行一些清理工作。 在新版本的React中,还引入了一些新的生命周期函数,比如getDerivedStateFromProps和getSnapshotBeforeUpdate,用于实现一些额外的功能。 总结一下,Vue和React生命周期函数在创建、更新和销毁的过程中有所不同,同时React还引入了一些新的生命周期函数。了解这些生命周期函数的执行顺序和用途可以帮助我们更好地管理和控制组件的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值