1. 用 ref 和 reactive 管理响应式数据
Vue 3 里最先要分清的就是这两个 API:ref 更适合基本类型,reactive 更适合对象和数组。这个区分看起来简单,但一开始很容易混用,尤其是从 Vue 2 迁过来时。
import { ref, reactive } from 'vue';
// 使用 ref 管理基本类型数据
const count = ref(0);
console.log(count.value); // 0
// 使用 reactive 管理复杂对象
const state = reactive({
name: 'Vue 3',
version: '3.2.0',
});
console.log(state.name); // Vue 3
ref 的代价是要多写一层 .value,但它的边界清楚。reactive 写起来顺手,不过它只吃对象和数组,别拿它去包一个数字或字符串。
2. 组合式 API 更适合拆复杂逻辑
组合式 API 的价值不在'新',而在于它把相关逻辑放在一起了。组件一复杂,按功能而不是按生命周期切开,后面维护会轻松很多。
import { ref, computed } from 'vue';
export default {
setup() {
const count = ref(0);
const doubleCount = computed(() => count.value * 2);
function increment() {
count.++;
}
{
count,
doubleCount,
increment,
};
},
};


