vue 3 composition api 是重构逻辑组织方式的根本性升级,按功能聚合代码;ref适用于基本类型和需整体替换的对象,reactive专用于对象和数组;组合函数实现逻辑复用,生命周期与副作用按功能就近组织;语法糖简化书写并增强ts支持。

Vue 3 的 Composition API 不是“把 Options API 搬进 setup”,而是重构逻辑组织方式的根本性升级。它让开发者按功能聚合代码,而不是按选项类型切割逻辑——这才是真正解决中大型项目可维护性问题的关键。
响应式数据怎么选:ref 还是 reactive?
选对响应式工具,能避免很多坑:
-
ref 适合基本类型(数字、字符串、布尔值)和需要整体替换的对象;脚本里必须用
.value访问,模板里自动解包 - reactive 专为对象和数组设计,直接操作属性即可,但不能重新赋值(否则丢失响应性)
- 想解构 reactive 对象又不破坏响应性?用
toRefs—— 尤其在返回多个字段给模板时很实用
逻辑复用不是靠复制粘贴,而是封装成组合函数
把权限校验、分页请求、表单验证这些通用能力抽成独立的 useXXX 函数,才是 Composition API 的核心价值:
- 每个组合函数只专注一个职责,比如
usePermission(['admin'])返回hasPermission和setRole - 组件内只需导入调用,无需关心内部实现细节,也避免了 Mixins 的命名冲突和来源不可追溯问题
- 组合函数本身可嵌套调用,比如
useUserList内部可以复用useRequest和usePagination
生命周期和副作用别散落在各处
Options API 里 mounted、watch、computed 分散在不同区块,而 Composition API 把它们按功能就近组织:
- 数据获取 + 加载状态 + 错误处理,全写在同一个逻辑块里
- 搜索关键词变化时重置页码并触发请求,
watch(searchKeyword, () => { currentPage.value = 1; fetch() })一行就串起整个流程 - 组件卸载前清理定时器或事件监听,直接在 setup 里调用
onUnmounted(() => clearTimeout(timer))
不用 setup() 函数也能用 Composition API
<script setup></script> 是 Vue 3 推荐的语法糖,省去 return 和导出步骤:
- 所有声明的变量、函数默认暴露给模板,无需手动 return
- 支持顶层 await,异步组件初始化更简洁
- 搭配 TypeScript 类型推导更自然,IDE 补全和错误提示更精准
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










