会vue2,快速学习vue3,Composition API(组合式API篇,纯使用方法,只适合快速使用)
一、革命性变化速览
- 
响应式系统重构 - 
替换Object.defineProperty为Proxy实现 
- 
新增ref/reactive响应式API 
- 
支持Map/Set等集合类型响应式 
 
- 
- 
代码组织革命 - 
按功能而非选项组织代码 
- 
逻辑组合取代选项混入 
- 
更好的TypeScript支持 
 
- 
二、核心API三件套
// 必须引入的核心API import { ref, reactive, computed, watchEffect, watch } from 'vue' // 1. 响应式数据 const count = ref(0) // 基础类型 const state = reactive({ // 引用类型 user: { name: 'Alice' } }) // 2. 计算属性 const double = computed(() => count.value * 2) // 3. 副作用监听 watchEffect(() => console.log(count.value)) watch([count, double], ([newVal]) => {})
三、生命周期对照表
| ue2选项式API | Vue3组合式API | 关键变化说明 | 
|---|---|---|
| beforeCreate | 无(被setup替代) | 逻辑直接写在setup()函数开头 | 
| created | 无(被setup替代) | 初始化逻辑迁移至setup()函数顶部 | 
| beforeMount | onBeforeMount | 挂载前触发时机不变,render函数首次调用 | 
| mounted | onMounted | 挂载完成时机不变(所有同步子组件已挂载) | 
| beforeUpdate | onBeforeUpdate | 响应式数据变化导致DOM更新前 | 
| updated | onUpdated | DOM更新完成后触发 | 
| beforeDestroy | onBeforeUnmount | 命名变更:更准确反映卸载行为 | 
| destroyed | onUnmounted | 命名变更:强调组件卸载完成状态 | 
| activated | onActivated | keep-alive组件激活逻辑不变 | 
| deactivated | onDeactivated | keep-alive组件停用逻辑不变 | 
| errorCaptured | onErrorCaptured | 子孙组件错误捕获机制不变 | 
| - | onRenderTracked | 新增调试钩子(开发环境)响应式依赖追踪 | 
| - | onRenderTriggered | 新增调试钩子(开发环境)响应式依赖触发渲染 | 
注意 :所有组合式 API 钩子需显式导入:例如 import { onMounted, onBeforeUnmount } from 'vue'
四、高级特性速通
- 
依赖注入 
// 父组件 provide('theme', 'dark') // 子组件 const theme = inject('theme')
- 
模板引用 
const inputRef = ref(null) <input ref="inputRef">
- 
自定义Hook 
// useMouse.js export function useMouse() { const x = ref(0) const y = ref(0) // 逻辑封装... return { x, y } } // 组件使用 const { x, y } = useMouse()
五、迁移必知陷阱
- 
this不再可用,所有数据需显式返回
- 
v-model升级为多个参数绑定 
- 
事件总线推荐替换为provide/inject 
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号