Vue 3 Composition API实战

引言

Vue 3的Composition API为开发者提供了更灵活的代码组织方式。相比Vue 2的Options API,Composition API允许我们按功能组织代码,而不是按选项类型。本文通过实际案例演示如何使用Composition API构建复杂的组件。

setup函数

setup函数是Composition API的入口,在组件创建之前执行:

import { ref, onMounted } from 'vue'

export default {
  setup() {
    const count = ref(0)
    
    onMounted(() => {
      console.log('组件挂载完成')
    })
    
    return {
      count
    }
  }
}

响应式API

ref和reactive

import { ref, reactive } from 'vue'

// ref用于基本类型
const count = ref(0)
console.log(count.value) // 0

// reactive用于对象
const state = reactive({
  name: 'Vue',
  version: 3
})
console.log(state.name) // Vue

组合式函数

将可复用的逻辑抽取为组合式函数:

// useCounter.js
import { ref } from 'vue'

export function useCounter(initialValue = 0) {
  const count = ref(initialValue)
  
  const increment = () => {
    count.value++
  }
  
  const decrement = () => {
    count.value--
  }
  
  return {
    count,
    increment,
    decrement
  }
}

// 在组件中使用
import { useCounter } from './useCounter'

export default {
  setup() {
    const { count, increment, decrement } = useCounter(0)
    return { count, increment, decrement }
  }
}

总结

Composition API使Vue 3的代码组织更加灵活和可维护。通过组合式函数,我们可以将复杂的逻辑拆分成小的、可复用的模块,提高代码的可读性和可测试性。