Bentornati.
Perché lo stato è un concetto molto importante in Jetpack Compose.
Faremo un rapido riepilogo al riguardo.
L'avete già visto in passato.
Testo VAR.
Ricordiamo che stato mutabile di stato mutabile di produrrà un oggetto stato mutabile
che conterrà il valore del nostro stato, che è una stringa vuota.
Ricordare di dire a compose che dovrà ricordare il
valore passato, in modo da non eseguire il lambda.
Ogni ricomposizione da è una parola chiave Kotlin per la delega.
Nasconde il fatto che lo stato mutabile di restituisce un oggetto di stato
mutabile e ci permette di usare il testo come se fosse una stringa.
Esistono tre modi per dichiarare un oggetto a stato mutabile in un oggetto componibile
val stato mutabile equivale a ricordare lo stato mutabile del valore predefinito var da.
Ricorda lo stato mutabile dell'impostazione predefinita e il valore di val equivale a ricordare lo stato mutabile dell'impostazione predefinita.
Preferisco usare il testo var per ricordare lo stato mutabile di questa
tecnica e questo modo di dichiarare un oggetto di stato mutabile.
Queste dichiarazioni sono equivalenti e sono fornite come zucchero sintattico per i diversi usi dello stato.
Si dovrebbe scegliere quello che produce il codice più facile da leggere nel composito che si sta scrivendo.
E come ho detto, var text binary member mutable state of è il migliore.
Esaminiamo ora cosa accadrebbe se mancasse una di queste parole magiche.
Iniziamo con il non utilizzare lo stato mutabile di.
Quindi, se dichiariamo il membro binario var text e mettiamo una stringa vuota invece di usare lo stato mutabile
di, questo non funzionerà, anche se nel nostro codice siamo in grado di modificare il valore di text.
La nostra UI non sarà a conoscenza di tale cambiamento.
Di conseguenza, l'interfaccia utente non verrà aggiornata quando si aggiorna la stringa.
Il secondo caso è quello in cui non si usa ricordare il testo var per stato mutabile di.
Neanche questo funzionerà.
Non appena si cambia il testo, compose aggiorna correttamente l'interfaccia utente.
Quando si aggiorna lo stato, si esegue anche lo stato mutabile di nuovo,
ricreando l'oggetto stato e renderizzando l'interfaccia utente con il valore del testo.
In questo caso, nell'applicazione del contatore, il valore del contatore
verrà aggiornato e azzerato e poi incrementato di uno.
Quindi azzerare il valore perché non esiste una funzione di memorizzazione.
Il terzo caso è quello di non utilizzare var text equals per ricordare lo stato mutabile di.
Questo funzionerà.
Non sarà più possibile trattare il testo come una stringa per aggiornare o modificare lo
stato, ma sarà necessario accedere al suo valore utilizzando il punto valore del testo.
Questi sono i tre casi.
Li abbiamo visti nell'applicazione dello sportello.
Tuttavia, ogni volta che assegniamo un nuovo stato a una variabile dichiarata con stato mutabile,
Jetpack Compose aggiornerà automaticamente tutte le parti dell'interfaccia utente che dipendono da quel valore.
Questa operazione si chiama ricomposizione.
Durante la ricomposizione, i valori di tutte le variabili del componibile che viene ricomposto vengono azzerati.
Per evitare il reset delle variabili di stato, utilizziamo.
Ricorda.
Questo è un rapido riassunto di questa sezione e di ciò che abbiamo imparato
prima su queste parole chiave, ricordando lo stato mutabile di e l'oggetto state.
Ora passiamo ad Android Studio e impariamo di più su queste parole chiave.