Vue3 的生命周期钩子

Vue3 的生命周期钩子函数是组件从创建到销毁过程中各个阶段的关键节点,以下是主要特点和使用方式:

一、核心生命周期钩子(Composition API)

setup()

替代了 Vue2 的 beforeCreate 和 created 钩子

是组合式 API 的入口点,在此初始化响应式数据

挂载阶段

onBeforeMount:DOM 挂载前触发,此时模板已编译但未渲染

onMounted:组件挂载完成后调用,可访问 DOM 元素

更新阶段

onBeforeUpdate:数据变化后,DOM 更新前执行

onUpdated:DOM 更新完成后触发

卸载阶段

onBeforeUnmount:组件卸载前调用(原 Vue2 的 beforeDestroy)

onUnmounted:组件卸载后执行清理操作

二、父子组件执行顺序

挂载阶段:

父 setup → 父 onBeforeMount → 子 setup → 子 onBeforeMount → 子 onMounted → 父 onMounted

更新阶段:

父 onBeforeUpdate → 子 onBeforeUpdate → 子 onUpdated → 父 onUpdated

卸载阶段:

父 onBeforeUnmount → 子 onBeforeUnmount → 子 onUnmounted → 父 onUnmounted

三、注意事项

在 setup() 中使用生命周期需要显式导入

服务端渲染时 beforeMount/mounted 等钩子不会执行

避免在 updated 钩子中修改状态,可能导致无限循环

四、与 Vue2 的主要区别

钩子名称变化:destroyed → unmounted

新增调试钩子:onRenderTracked/onRenderTriggered

组合式 API 提供了更灵活的生命周期管理方式


标签:

相关文章

关于夏天

在一个炎热的午后,阳光穿过树叶的缝隙,洒在公园的草地上。空气中弥漫着夏日的气息,那是炎热中夹杂着淡淡的花香,还有草地的清新味道。在这个充满活力的季节,夏天以其独特的方式展示着它的魅力。夏天是一个充满色...

故事分解结构

故事分解结构是一种用于分析、设计和编写故事的方法,它可以将故事分解为不同的层次,从而更好地理解故事的内在逻辑和结构。下面是故事分解结构的详细解释:节拍(beat):是故事的最小单位,包含动作和反应两个...

《山海经》中的一卷--东山经

《东山经》概括性翻译框架一、引言《东山经》记载了东方的山川地理,以及其中栖息的奇异生物和丰富的自然资源。这些描述不仅展示了古人对自然的观察与想象,也反映了他们对自然界的敬畏与崇拜。二、山川描述樕臾山:...

mysql 分区,分表,集群,mysql 优化

以下是MySQL分区、分表、集群及性能优化的综合解析,结合最新实践和核心原则整理:🔧 ‌一、分区(Partitioning)‌‌原理与类型‌无全局索引,索引按分区独立维护分区键需谨慎选择,避免数据倾斜...

PHP 8.3 引入了多个实用的新函数和语法特性

PHP 8.3 引入了多个实用的新函数和语法特性,以下是最值得关注的部分:新函数特性json_validate() - 轻量级JSON验证‌直接验证JSON格式而无需解码,比使用json_decode...

网站运营seo白帽与黑帽技术

白帽‌与‌黑帽‌是网站运营中两种对立的SEO策略,核心差异在于是否遵守搜索引擎规则来获取流量。1. 白帽SEO(合规正向)核心理念‌:通过提升内容质量与用户体验赢得自然排名。典型做法‌:发布‌原创、深...