Stato e ricomposizione nell'interfaccia condivisa
Guidare Compose con il proprio StateFlow condiviso
Stato e ricomposizione nell'interfaccia condivisa è una lezione Kotlin Multiplatform 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 Kotlin Multiplatform Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
L'interfaccia è una funzione dello stato
In Compose lo schermo viene disegnato a partire dallo stato. Quando lo stato cambia, Compose ridisegna solo le parti che dipendono da esso. Non deve mai modificare manualmente le view.
Spiegazione della ricomposizione
Questo ridisegno automatico si chiama ricomposizione. Compose esegue nuovamente i composable interessati con i nuovi valori e aggiorna lo schermo al posto suo.
Ricordare lo stato locale
Per lo stato posseduto da un composable, utilizzi remember con mutableStateOf, così il valore sopravvive alla ricomposizione invece di reimpostarsi a ogni frame.
val count = remember { mutableStateOf(0) }Leggere e scrivere lo stato
Racchiuda il valore in by per leggerlo e scriverlo come una normale variabile. La lettura sottoscrive il composable, quindi la scrittura attiva un ridisegno.
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Count: " + count)
}Elevare lo stato
Sposti lo stato nel genitore comune più vicino e passi i valori verso il basso. Questa elevazione mantiene i composable figli privi di stato, riutilizzabili e facili da testare.
@Composable
fun Counter(value: Int, onInc: () -> Unit) {
Button(onClick = onInc) { Text("" + value) }
}Lo stato vive nel codice condiviso
La vera fonte di verità è il livello condiviso. Un StateFlow multipiattaforma contiene una sola volta lo stato dello schermo, lontano da qualsiasi framework UI specifico della piattaforma.
val uiState: StateFlow<ScreenState> = _stateRaccogliere StateFlow in Compose
Collegate questo flusso a Compose con collectAsState. Il composable lo osserva e viene ricomposto ogni volta che lo stato condiviso emette un nuovo valore.
val state by viewModel.uiState.collectAsState()
Text(state.title)Un’unica fonte di verità
Poiché lo stato fluisce dal codice condiviso a Compose, Android e iOS visualizzano esattamente la stessa schermata a partire da un’unica source of truth. Senza divergenze.
Evitate gli effetti collaterali nei composable
Un composable può essere eseguito molte volte, quindi non eseguite mai direttamente nel suo corpo operazioni come le chiamate di rete. Mantenetelo come una descrizione pura e spostate gli effects altrove.
LaunchedEffect per le operazioni collaterali
Quando dovete avviare una coroutine legata all’interfaccia, usate LaunchedEffect. Viene eseguito una volta per chiave e si annulla automaticamente quando il composable viene rimosso.
LaunchedEffect(Unit) {
viewModel.load()
}Stato derivato e stabile
Calcolate i valori a partire dallo stato esistente con derivedStateOf, così vengono ricalcolati solo quando cambiano i relativi input e la ricomposizione rimane efficiente.
Verifica rapida
Che cosa mantiene un valore tra le ricomposizioni?
Riepilogo: lo stato guida l’interfaccia
Ha imparato che lo state guida la ricomposizione, come ricordarlo e sollevarlo, e come lo StateFlow condiviso alimenta Compose affinché entrambe le app visualizzino un’unica fonte di verità. 🔁
Domande Frequenti
La lezione «Stato e ricomposizione nell'interfaccia condivisa» è gratuita?
Sì — il testo completo di «Stato e ricomposizione nell'interfaccia condivisa» è 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 Kotlin Multiplatform Academy, passa a CoddyKit PRO. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
Cosa imparerò in «Stato e ricomposizione nell'interfaccia condivisa»?
Guidare Compose con il proprio StateFlow condiviso Eserciti Kotlin Multiplatform 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 Kotlin Multiplatform Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Multiplatform 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 «Stato e ricomposizione nell'interfaccia condivisa»?
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 Kotlin Multiplatform Academy?
Sì. Ogni lezione Kotlin Multiplatform 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
- Abilitare Compose Multiplatform
- Layout, modifier e theming
- Stato e ricomposizione nell'interfaccia condivisa
- Ospitare l'interfaccia condivisa su iOS e Desktop