Composable adalah fungsi yang mengenkapsulasi logika reaktif — mirip custom hooks di React.
// useCounter composable
function useCounter(initial = 0) {
const count = ref(initial)
const increment = () => count.value++
const decrement = () => count.value--
const reset = () => count.value = initial
return { count, increment, decrement, reset }
}
const { count, increment, reset } = useCounter(0)
---template---
<span>{{ count }}</span>
<button @click="increment">+</button>
<button @click="reset">Reset</button>
Aturan Composable
- Nama diawali
use(konvensi) - Hanya dipanggil di
setup()atau composable lain - Bisa menggunakan semua Composition API (ref, computed, watch, lifecycle)