どちらも Composition API でリアクティブな状態を作成しますが、動作は異なります。ref は任意の値(プリミティブを含む)をリアクティブなコンテナにラップします。一方、reactive はオブジェクトを直接深くリアクティブにします。
ref — 任意の値に対して、.value でアクセス
vue
<script setup>
import { ref } from "vue";
const count = ref(0); // wraps a primitive
const user = ref({ name: "Ann" });
function inc() {
count.value++; // ⚠️ in SCRIPT you must use .value
user.value.name = "Bob";
}
</script>
<template>
<p>{{ count }}</p> <!-- ✅ in TEMPLATE, .value is auto-unwrapped -->
</template>
