0Pricing
Vue Academy · Lezione

Fondamenti della reattività

Scopra come Vue tiene traccia delle dipendenze reattive.

Fondamenti della reattività è una lezione Vue Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Vue Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Vue Academy include 3 lezioni in totale.

Che cos'è la reattività?

La reattività consiste nell'aggiornamento automatico del DOM da parte di Vue quando cambiano i dati.

  • Si modifica un valore in JavaScript
  • Vue rileva la modifica
  • La vista viene nuovamente renderizzata per riflettere il cambiamento

Non è necessaria alcuna manipolazione manuale del DOM.

Come Vue tiene traccia delle dipendenze

Vue utilizza un sistema di tracciamento delle dipendenze.

  • Quando un render legge un valore reattivo, Vue registra quella dipendenza
  • Quando in seguito quel valore cambia, Vue sa quali render eseguire nuovamente
  • In questo modo gli aggiornamenti sono precisi ed efficienti

ref per i valori primitivi

Con la Composition API, ref rende reattivo un singolo valore.

import { ref } from "vue"

const count = ref(0)
const name = ref("Ada")

count.value++          // update via .value
console.log(name.value) // read via .value

ref nei template

Nei template, i ref vengono decompattati automaticamente, quindi non è necessario utilizzare .value.

<script setup>
import { ref } from "vue"
const count = ref(0)
</script>

<template>
  <p>{{ count }}</p>
  <button @click="count++">Add</button>
</template>

reactive per gli oggetti

reactive rende reattivo un intero oggetto. Si accede direttamente alle proprietà, senza .value.

import { reactive } from "vue"

const state = reactive({
  count: 0,
  user: { name: "Ada" }
})

state.count++
state.user.name = "Grace"

ref e reactive

Come scegliere tra i due:

  • ref funziona con qualsiasi valore (primitivi e oggetti) e vi si accede con .value
  • reactive funziona solo con gli oggetti e vi si accede direttamente

Molti team preferiscono utilizzare ref ovunque per mantenere la coerenza.

L'opzione data (Vue 2 / Options API)

L'Options API utilizza la funzione data. Ogni proprietà restituita è reattiva.

export default {
  data() {
    return {
      count: 0,
      items: []
    }
  },
  methods: {
    add() { this.count++ }
  }
}

Limitazioni della reattività con gli array

L'assegnazione diretta a un indice dell'array può essere problematica, soprattutto in Vue 2.

  • In Vue 2, l'assegnazione arr[5] = x non attivava gli aggiornamenti
  • In Vue 3 i proxy gestiscono la maggior parte dei casi, ma è comunque consigliabile prestare attenzione

Preferisca i metodi degli array per maggiore chiarezza e sicurezza.

Metodi reattivi degli array

I metodi che modificano l'array, come push, splice e pop, vengono tracciati in modo reattivo.

const items = reactive([1, 2, 3])

items.push(4)        // reactive
items.splice(0, 1)   // reactive

// Replacing an index in Vue 3 proxy:
items[0] = 99        // works in Vue 3

Sostituzione e modifica

Esistono due modi per aggiornare gli array:

  • Modificare con push, splice e sort
  • Sostituire assegnando un nuovo array, ad esempio ottenuto da filter o map

In Vue 3 entrambi attivano la reattività. Per gli elenchi derivati, la sostituzione è spesso più chiara.

// Mutate
state.list.push(item)

// Replace with a filtered copy
state.list = state.list.filter(x => x.active)

Come evitare di perdere la reattività

La destrutturazione di un oggetto reattivo interrompe la reattività delle variabili così ottenute.

  • Estrarre una proprietà ne copia il valore corrente
  • Utilizzi toRefs per mantenere la reattività durante la destrutturazione
import { reactive, toRefs } from "vue"

const state = reactive({ count: 0 })

// Keeps reactivity
const { count } = toRefs(state)

Verifica rapida

Verifichi la propria comprensione della reattività di Vue.

Riepilogo: fondamenti della reattività

Ha imparato come funziona la reattività di Vue:

  • Vue tiene traccia dei dati utilizzati da ciascun render
  • ref rende reattivi i valori (in JS si utilizza .value)
  • reactive rende reattivi gli oggetti (accesso diretto)
  • L'Options API utilizza la funzione data
  • Utilizzi i metodi degli array e toRefs per evitare di perdere la reattività

Prossimo argomento: proprietà computed.

Domande Frequenti

La lezione «Fondamenti della reattività» è gratuita?

Sì — il testo completo di «Fondamenti della reattività» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Vue Academy, passa a CoddyKit PRO. Il corso Vue Academy include 3 lezioni in totale.

Cosa imparerò in «Fondamenti della reattività»?

Scopra come Vue tiene traccia delle dipendenze reattive. Eserciti Vue Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Vue Academy?

Non è richiesta alcuna esperienza precedente. Vue Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «Fondamenti della reattività»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Vue Academy?

Sì. Ogni lezione Vue Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Fondamenti della reattività
  2. Proprietà calcolate
  3. Watcher e reattività profonda
← Torna a Vue Academy