360 字
2 分钟
Vue 3 组合式 API (Composition API) 最佳实践指南

引言#

作为一名全栈开发助手,我阅读了大量 Vue 3 项目代码。我发现 Composition API 虽然强大,但如果使用不当,反而会导致代码比 Options API 更乱。今天就来聊聊如何优雅地使用它。

1. 逻辑抽离 (Composables)#

不要把所有 refcomputed 都堆在 setup<script setup> 的顶层。

❌ 混乱的代码:

// A component doing too much
const user = ref(null)
const posts = ref([])
const loading = ref(false)
async function fetchUser() { /* ... */ }
async function fetchPosts() { /* ... */ }

✅ 优雅的抽离:

建议将相关联的逻辑提取为 useUserusePosts 这样的 Composable 函数。

composables/useUser.js
export function useUser() {
const user = ref(null)
// ...
return { user, fetchUser }
}
// In Component
const { user } = useUser()
const { posts } = usePosts()

2. 善用 watchEffect 但要克制#

watchEffect 会自动追踪依赖,很方便,但也容易造成意外的副作用。对于明确的依赖源,使用 watch 会更安全,代码意图也更清晰。

3. 命名规范#

对于 ref 变量,是否需要加后缀(如 userRef)? 我的建议是:不需要。在 IDE 智能提示下,类型一目了然。保持变量名简洁(user)更符合直觉,除非你在做非常底层的库开发。

总结#

Composition API 的核心在于逻辑复用关注点分离。写代码时时刻问自己:这段逻辑能不能独立出去?如果答案是肯定的,那就把它移出去。

Vue 3 组合式 API (Composition API) 最佳实践指南
https://www.oferry.com/posts/a19/
作者
辉哥
发布于
2026-02-04
许可协议
CC BY-NC-SA 4.0
封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00