0Pricing
Jetpack Compose Academy · Lezione

Un'unica fonte di verità

Eviti stati duplicati e non sincronizzati.

Un'unica fonte di verità è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. 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 Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.

Un unico posto per ogni dato

Una singola fonte di verità significa che ogni elemento dello stato risiede in un unico punto. Tutto il resto lo legge da lì, senza mai copiarlo.

Il pericolo dei duplicati

Se due Composable conservano ciascuna una propria copia dello stesso valore, possono divergere. Una si aggiorna, mentre l’altra mostra dati obsoleti. 😬

Come aiuta la state hoisting

La state hoisting crea naturalmente un unico proprietario. Il componente padre conserva il valore; i componenti figli lo ricevono soltanto, quindi non c’è nulla che possa perdere la sincronizzazione.

Leggere dalla fonte

I componenti figli dovrebbero sempre leggere dal valore elevato, non da una copia privata. Quando la fonte cambia, tutti i lettori si aggiornano insieme.

var query by remember { mutableStateOf("") }
SearchBar(value = query, onValueChange = { query = it })
Results(query = query)

Derivare, non duplicare

Le serve una versione filtrata o formattata? La derivi dalla fonte invece di memorizzare una seconda copia che potrebbe diventare obsoleta.

val matches = items.filter { it.contains(query) }

derivedStateOf per le operazioni costose

Quando un valore derivato è costoso da calcolare, lo racchiuda in derivedStateOf, così verrà ricalcolato solo quando i suoi input cambiano davvero.

val matches by remember {
  derivedStateOf { items.filter { it.contains(query) } }
}

Due input, un solo stato

Vuole che due campi modifichino gli stessi dati? Colleghi entrambi allo stesso stato elevato. Condividono un’unica verità e restano perfettamente sincronizzati.

Eviti la trappola dello specchio

Un bug comune consiste nel copiare un parametro nello stato locale all’interno di un effect. A quel punto si dispone di uno specchio che diventa silenziosamente obsoleto.

Elevare, non rispecchiare

Se un componente figlio deve modificare dati condivisi, eleve lo stato a un componente padre comune invece di duplicarlo. Un proprietario, molti lettori.

Verità e test

Una singola fonte rende evidenti i bug: c’è un solo punto in cui un valore può essere errato, quindi sa esattamente dove cercare. ✅

La regola d’oro

Lo stato dovrebbe essere posseduto una sola volta e condiviso tramite riferimento. Lo stato duplicato è alla radice della maggior parte dei bug di sincronizzazione in Compose.

Verifica rapida

Perché è importante mantenere una singola fonte di verità?

Riepilogo

Mantenga ogni dato in un unico punto, lo legga o lo derivi da lì e non ne crei mai uno specchio. Una singola fonte di verità significa nessuna divergenza. 🚀

Domande Frequenti

La lezione «Un'unica fonte di verità» è gratuita?

Sì — il testo completo di «Un'unica fonte di verità» è 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 Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.

Cosa imparerò in «Un'unica fonte di verità»?

Eviti stati duplicati e non sincronizzati. Eserciti Jetpack Compose 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 Jetpack Compose Academy?

Non è richiesta alcuna esperienza precedente. Jetpack Compose 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 3 di 4.

Quanto tempo richiede la lezione «Un'unica fonte di verità»?

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 Jetpack Compose Academy?

Sì. Ogni lezione Jetpack Compose 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. Composable stateful e stateless
  2. Elevare lo stato con value e onValueChange
  3. Un'unica fonte di verità
  4. Slot di stato Compose e lambda di contenuto
← Torna a Jetpack Compose Academy