# Vue 3

# 快速创建项目

npm init vue@latest

# Composition API

import {ref, watch, computed, reactive, toRefs} from 'vue'

export default function useCount(initValue = 1, onChange) {
  const count = ref(initValue)
  const user = reactive({name: 'Joel'})
  // user.name = 'Jack' // 修改 value。

  const setCount = (value) => {
    count.value = value
  }

  watch(count, newValue => onChange(newValue))

  const doubleCount = computed(() => count.value * 2)

  const increase = () => setCount(count.value + 1)
  const decrease = () => setCount(count.value - 1)
  
  return {
    count,
    increase,
    decrease,
    ...toRefs(user), // 保持属性的响应
  }
}