Skip to content

Vue 3: Reattività Avanzata

Il sistema di reattività di Vue 3 è completamente riscritto e basato su JavaScript Proxy per performance superiori.

Come funziona la reattività

Vue 3 usa Proxy invece di Object.defineProperty (usato in Vue 2):

javascript
import { ref, reactive } from 'vue'

// ref per valori primitivi
const count = ref(0)

// reactive per oggetti
const state = reactive({
  user: { name: 'Mario', email: 'mario@example.com' },
  settings: { theme: 'dark' }
})

Computed Properties

Le computed properties sono cache-ate e si ricalcolano solo quando le dipendenze cambiano:

vue
<script setup>
import { ref, computed } from 'vue'

const items = ref([1, 2, 3, 4, 5])

const total = computed(() => {
  return items.value.reduce((sum, item) => sum + item, 0)
})

const evenItems = computed(() => {
  return items.value.filter(item => item % 2 === 0)
})
</script>

Watchers avanzati

javascript
import { ref, watch } from 'vue'

const query = ref('')
const results = ref([])

// Watch con deep option
watch(state, (newVal, oldVal) => {
  console.log('State changed:', newVal)
}, { deep: true })

// Watch multiplo
watch([query, results], ([newQuery, newResults]) => {
  console.log('Query:', newQuery, 'Results:', newResults.length)
})

Conclusione

Capire la reattività è essenziale per scrivere applicazioni Vue efficienti e performanti.

Made with ❤️ by PeterDev
'Ho mio cuGGGino che lo sa fare' cit.