你的浏览器无法正常显示内容,请更换或升级浏览器!

Vue 3 组合式 API 实战技巧

tenfei
tenfei
发布于2026-03-20 09:37 阅读23次
Vue 3 组合式 API 实战技巧
Vue 3 组合式 API 彻底改变了我们编写组件的方式。本文分享 5 个实用的组合式 API 技巧,包括逻辑复用、状态管理、生命周期钩子等核心概念,帮助你写出更优雅的 Vue 代码。
# Vue 3 组合式 API 实战技巧 ## 前言 Vue 3 带来的组合式 API(Composition API)彻底改变了我们编写 Vue 组件的方式。本文将分享一些在实际项目中使用组合式 API 的实用技巧。 ## 1. 复用逻辑:Composables 组合式 API 最大的优势在于逻辑复用。通过创建可复用的组合函数(Composables),我们可以把状态逻辑抽象出来: ```javascript // useCounter.js import { ref, computed } from 'vue' export function useCounter(initial = 0) { const count = ref(initial) const doubled = computed(() => count.value * 2) const increment = () => count.value++ const decrement = () => count.value-- return { count, doubled, increment, decrement } } ``` ## 2. 响应式状态管理 对于简单的跨组件状态共享,可以使用 `reactive`: ```javascript // store.js import { reactive } from 'vue' export const store = reactive({ user: null, isLoggedIn: false, setUser(user) { this.user = user this.isLoggedIn = !!user } }) ``` ## 3. 生命周期钩子的组合使用 组合式 API 允许我们在同一个地方使用所有生命周期钩子: ```javascript import { onMounted, onUnmounted } from 'vue' export function useEventListener(event, handler) { onMounted(() => window.addEventListener(event, handler)) onUnmounted(() => window.removeEventListener(event, handler)) } ``` ## 4. 异步数据加载 配合 `Suspense` 和 `async setup`,我们可以更优雅地处理异步数据: ```javascript // useFetch.js import { ref } from 'vue' export function useFetch(url) { const data = ref(null) const loading = ref(true) const error = ref(null) fetch(url) .then(res => res.json()) .then(json => data.value = json) .catch(err => error.value = err) .finally(() => loading.value = false) return { data, loading, error } } ``` ## 5. 最佳实践建议 1. **保持简洁**:每个 Composable 应该只做一件事 2. **命名规范**:以 `use` 开头,如 `useUser`、`useCart` 3. **类型支持**:使用 TypeScript 获得更好的类型推断 4. **避免响应式丢失**:使用 `toRefs` 保持解构响应性 ## 结语 组合式 API 让 Vue 代码更加灵活和可维护。希望这些技巧能帮助你写出更好的 Vue 3 代码!

1

0

文章点评
暂无任何评论
Copyright © from 2021 by namoer.com
458815@qq.com QQ:458815
蜀ICP备2022020274号-2