React和Vue的生命周期对比表

  • 生命周期对比表
阶段React16.8以前的生命周期钩子函数React18VueVue的自定义指令
初始getDefaultProps 设置默认的props
getInitialState 在使用es6的class语法时是没有这个钩子函数的,可以直接在constructor中定义this.state。此时可以访问this.props
componentWillMount 组件渲染前被调用
render 渲染模板
componentDidMount 组件挂载成功,第一次渲染后调用,组件已经发生在对应的DOM结构,通过this.getDOMNode()或获取节点,可以在这个周期时获取服务端数据,redux模式在这里绑定数据
constructor
static getDerivedStateFromProps(纯函数,静态方法)
render
componentDidMount
beforeCreate 实例初始化之后,数据观察data observer和event/watch事件配置之前被调用
created (实例创建完成后立即被调用,实例已完成如下配置:数据观察data observer,属性和方法的运算,event/watch回调。$el属性不可见)
beforeMount 挂载之前被调用,render函数首次被调用(服务端渲染期不被调用)
mounted 不会承诺所有的子组件都一起被挂载
bind:绑定时,自定义指令绑定于相应dom时执行
inserted:指令所在dom添加到父节点时执行,渲染时
更新componentWillReceiveProps 组件接收到一个新的prop时被调用
shouldComponentUpdate 返回一个布尔值,组件收到新的或state时被调用,常用于优化组件,减少渲染次数
componentWillUpdate 接收到新的props或者state但还没render时调用
render
componentDidUpdate 组件更新完后调用
static getDerivedStateFromProps
shouldComponentUpdate
render
getSnapshotBeforeUpdate
componentDidUpdate
beforeUpdate 数据更新时调用,发生虚拟dom打补丁之前,适合更新之前访问现有的dom
updated 更新完后,组件DOm更新完毕,可以执行依赖于DOM的操作
update:更新时,不保证更新完成(指令所在组件有更新时执行),不保证该更新和当前指令所在dom有关
componentUpdated:更新完成时,指令所在组件更新完成
卸载componentWillUnmount 从dom中移除时立即被调用componentWillUnmountbeforeDestory 实例销毁时调用,实例仍然可用
destroyed 销毁实例后调用,与实例相关的所有都会被移动
unbind:解除绑定,类似于beforeDestroy
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ReactVue 是两个流行的 JavaScript 框架,它们都有自己的生命周期方法。React生命周期方法包括: 1. Mounting:组件被创建并且插入到 DOM 中。 - constructor: 组件构造函数 - getDerivedStateFromProps: 从 props 中获取派生状态 - render: 渲染组件 - componentDidMount: 组件挂载到 DOM 上 2. Updating:组件更新,可以是 props 或者 state 的改变。 - getDerivedStateFromProps: 从 props 中获取派生状态 - shouldComponentUpdate: 判断是否需要重新渲染组件 - render: 渲染组件 - componentDidUpdate: 组件更新完成 3. Unmounting:组件被从 DOM 中移除。 - componentWillUnmount: 组件移除前的清理工作 Vue生命周期方法包括: 1. Creation:创建阶段,包括实例化、数据观测、模板解析、编译等。 - beforeCreate: 实例创建前调用 - created: 实例创建后调用 - beforeMount: 模板编译/挂载前调用 2. Mounting:挂载阶段,包括模板编译、挂载、渲染等。 - mounted: 模板编译/挂载后调用 3. Updating:更新阶段,包括响应式数据更新、虚拟 DOM 重构、渲染等。 - beforeUpdate: 组件更新前调用 - updated: 组件更新后调用 4. Destruction:销毁阶段,包括实例销毁前的清理工作等。 - beforeDestroy: 实例销毁前调用 - destroyed: 实例销毁后调用 总的来说,ReactVue生命周期方法有一些相似之处,但是也存在一些差异。React 有一个 shouldComponentUpdate 方法来判断是否需要重新渲染组件,Vue 则没有这个方法,但是提供了一个 watch 选项来观察数据的变化。另外,React生命周期方法是在组件的 class 中定义的,而 Vue生命周期方法则是在 Vue 实例中定义的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值