Vue Composition API 是一份关于 Vue 3 组合式 API 的实践资料,主题是借助组合式 API 构建可扩展、可复用且类型安全的响应式应用。
用途与定位 资料面向需要在 Vue 3 中组织组件逻辑的开发者,重点在于把状态、派生值与副作用按照可组合的方式组织起来,以便在多个组件之间复用。它围绕 setup、ref、reactive、computed、watch 以及 composables 展开。
核心概念与主要能力
- Script Setup:示例使用 <script setup lang="ts">,从 vue 引入 ref 与 computed,声明 const count = ref(0),用 const doubled = computed(() => count.value * 2) 生成派生值,并通过 increment 函数执行 count.value++ 更新状态。这说明在脚本设置语法下可以直接声明状态与逻辑。
- Composables:资料给出 composables/useFetch.ts 示例,导出泛型函数 useFetch<T>(url: string)。函数内部用 ref<T | null>(null) 保存 data、用 ref<Error | null>(null) 保存 error、用 ref(true) 表示 loading;fetchData 先把 loading 置为 true,再 await fetch(url) 并读取 response.json() 写入 data,捕获异常写入 error,最后在 finally 中把 loading 置为 false;通过 onMounted(fetchData) 在挂载时执行,并返回 { data, error, loading, refetch: fetchData }。这展示了如何把请求逻辑封装成可复用的组合函数。
- Reactive State:资料演示 import { reactive, toRefs } from 'vue',用 reactive({ count: 0, message: 'Hello' }) 创建对象状态,再通过 toRefs(state) 解构出 count 与 message,以在解构后保持响应性。
使用方式 资料本身以代码片段和最佳实践清单的形式给出用法,没有提供安装步骤、依赖清单或项目初始化命令;这些内容暂未提供。使用思路是先按示例引入 ref、reactive、computed、toRefs、onMounted 等 API,再在 <script setup> 中声明状态与逻辑;当逻辑需要跨组件复用时,抽取为 composables 并返回所需的响应式引用与操作方法。
适用场景 适合构建需要响应式状态管理的 Vue 3 应用,尤其是存在重复数据获取、加载与错误状态处理、派生值计算等逻辑、希望将其抽取复用的场景。也适合以 TypeScript 编写、希望在类型层面约束状态与请求结果的工程。
最佳实践与限制 资料给出的最佳实践包括:基本类型使用 ref,对象使用 reactive;把可复用逻辑抽取为 composables;使用 TypeScript 获得类型安全;在 onUnmounted 中实现正确的清理;用 computed 表示派生状态;用 watchEffect 处理副作用。资料未说明具体的版本兼容范围、构建工具、包管理器、插件安装方式及收费或授权信息,这些内容暂未提供。文末给出的参考资源链接为 https://vuejs.org/guide/extras/composition-api-faq.html。