1️⃣ 响应式 API

API作用使用场景常用程度
ref()创建基本类型/引用类型响应式基础数据响应式⭐⭐⭐⭐⭐
reactive()创建对象/数组响应式管理复杂对象⭐⭐⭐⭐⭐
readonly()创建只读响应式对象防止误修改⭐⭐⭐
shallowRef()顶层响应式,不递归性能优化⭐⭐
shallowReactive()顶层响应式对象性能优化⭐⭐
toRef()将对象属性转为 ref解构 reactive 对象⭐⭐⭐
toRefs()将整个对象转为 ref 集合解构 reactive 保持响应式⭐⭐⭐
isRef()判断是否是 ref类型判断⭐⭐
isReactive()判断是否是 reactive调试、逻辑判断⭐⭐
isReadonly()判断是否是只读对象调试
isProxy()判断是否是 proxy 对象调试
customRef()自定义 ref实现防抖/节流⭐⭐
markRaw()标记对象为非响应式避免代理大对象⭐⭐
shallowReadonly()顶层只读对象限制只读,性能优化

2️⃣ 计算与侦听

API作用使用场景常用程度
computed()声明计算属性依赖数据生成新值⭐⭐⭐⭐⭐
watch()监听指定响应式数据API 请求、副作用⭐⭐⭐⭐⭐
watchEffect()自动追踪依赖执行副作用快速调试、自动依赖收集⭐⭐⭐

3️⃣ 生命周期钩子

API作用使用场景常用程度
onMounted()组件挂载完成DOM 操作、发请求⭐⭐⭐⭐⭐
onUnmounted()组件卸载清理定时器、解绑事件⭐⭐⭐⭐⭐
onBeforeMount()挂载前初始化逻辑⭐⭐⭐
onBeforeUnmount()卸载前清理资源⭐⭐
onUpdated()DOM 更新后UI 更新逻辑⭐⭐⭐
onBeforeUpdate()DOM 更新前旧 DOM 状态处理⭐⭐
onActivated()keep-alive 激活恢复缓存组件状态⭐⭐
onDeactivated()keep-alive 停用保存组件状态⭐⭐
onErrorCaptured()捕获子组件错误错误边界处理⭐⭐
onRenderTracked()渲染依赖被追踪调试依赖
onRenderTriggered()渲染被触发调试依赖更新
onServerPrefetch()SSR 数据预取仅 SSR

4️⃣ 组件通信 / <script setup> 专属

API作用使用场景常用程度
defineProps()接收父组件 props子组件接收数据⭐⭐⭐⭐⭐
defineEmits()声明 & 触发事件子组件传递事件⭐⭐⭐⭐⭐
defineExpose()暴露子组件方法父组件调用子组件方法⭐⭐⭐
defineSlots()声明插槽TS 类型提示⭐⭐
withDefaults()为 props 设置默认值配合 defineProps⭐⭐

5️⃣ 依赖注入

API作用使用场景常用程度
provide()提供数据给子孙组件跨层级通信⭐⭐⭐
inject()注入数据获取 provide 值⭐⭐⭐

6️⃣ DOM & 模板

API作用使用场景常用程度
ref() (template)获取 DOM/组件实例操作 DOM⭐⭐⭐⭐
nextTick()DOM 更新后执行获取最新 DOM 状态⭐⭐⭐⭐⭐
useAttrs()获取透传的 attrs高阶组件⭐⭐
useSlots()获取插槽内容动态插槽⭐⭐
useCssVars()动态绑定 CSS 变量样式动态化⭐⭐
useCssModule()使用 CSS Modules样式隔离

7️⃣ 渲染函数 & 指令

API作用使用场景常用程度
h()手动创建 VNode渲染函数、JSX⭐⭐⭐
resolveComponent()动态解析组件动态组件渲染⭐⭐
resolveDirective()动态解析指令渲染函数
withDirectives()在渲染函数中应用指令高级场景
mergeProps()合并 propsJSX/渲染函数
cloneVNode()克隆并修改 VNode自定义渲染
isVNode()判断是否 VNode调试

8️⃣ 应用级 API (createApp)

API作用使用场景常用程度
createApp()创建应用实例项目入口⭐⭐⭐⭐⭐
app.mount()挂载应用启动 Vue⭐⭐⭐⭐⭐
app.use()安装插件Vue Router / Pinia⭐⭐⭐⭐⭐
app.component()全局注册组件公共组件⭐⭐⭐⭐
app.directive()全局注册指令自定义指令⭐⭐
app.mixin()全局混入插件开发
app.provide()全局依赖注入跨组件通信⭐⭐
app.config.globalProperties全局变量全局工具方法⭐⭐⭐

9️⃣ 其它工具 & 全局

API作用使用场景常用程度
getCurrentInstance()获取组件实例访问 proxy / appContext⭐⭐⭐
defineComponent()显式定义组件TS 类型推导⭐⭐⭐
defineAsyncComponent()异步组件按需加载⭐⭐⭐
defineCustomElement()定义 Web Components跨框架组件
versionVue 版本号调试

✅ 总结

Vue3 API 可以分 9 大类:

  1. 响应式(ref, reactive, toRef...)

  2. 计算 & 侦听(computed, watch...)

  3. 生命周期(onMounted, onErrorCaptured...)

  4. 组件通信(defineProps, defineEmits...)

  5. 依赖注入(provide, inject)

  6. DOM & 模板(ref, nextTick, useAttrs...)

  7. 渲染函数 & 指令(h, resolveComponent...)

  8. 应用 API(createApp, app.use...)

  9. 其它工具(getCurrentInstance, defineAsyncComponent...)

其中:

  • 必须掌握(核心常用):ref, reactive, computed, watch, onMounted, defineProps, defineEmits, nextTick, createApp

  • 进阶掌握:provide/inject, customRef, shallowRef, defineExpose, getCurrentInstance, h

  • 高级/特殊场景:onServerPrefetch, useCssVars, cloneVNode, defineCustomElement

更多推荐