LaunchedEffect per le coroutine
Avvii operazioni suspend legate alla composizione.
LaunchedEffect per le coroutine è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 1 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.
Gli effetti vivono al di fuori della composizione
I Composable dovrebbero essere puri e possono essere eseguiti molte volte. Quando deve svolgere un'attività reale, come una chiamata di rete, utilizzi invece un gestore di side effect.
Conoscere LaunchedEffect
Un LaunchedEffect esegue codice suspend in una coroutine legata al punto in cui si trova nella composizione. È perfetto per le attività di avvio eseguite una sola volta. 🚀
Si avvia quando entra
Quando un LaunchedEffect entra per la prima volta nella composizione, avvia il proprio blocco. Quando ne esce, la coroutine viene annullata automaticamente.
LaunchedEffect(Unit) {
loadProfile()
}La chiave controlla i riavvii
Il primo argomento è una key. Se la chiave cambia tra due ricomposizioni, la vecchia coroutine viene annullata e ne viene avviata una nuova.
LaunchedEffect(userId) {
user = fetchUser(userId)
}Usare Unit per eseguirlo una volta
Passare Unit (o true) come chiave significa che l'effetto non verrà mai riavviato. Viene eseguito una sola volta quando appare il Composable.
LaunchedEffect(Unit) {
analytics.logScreenView()
}Le chiamate suspend sono supportate
All'interno del blocco può chiamare liberamente funzioni suspend, come delay o una richiesta Retrofit. Lo scope della coroutine viene fornito automaticamente.
LaunchedEffect(Unit) {
delay(2000)
showSplash = false
}Non avviare coroutine nel corpo
Chiamare direttamente una coroutine nel corpo del Composable è un errore. Il corpo viene rieseguito a ogni ricomposizione, quindi l'attività verrebbe avviata ripetutamente.
L'annullamento è automatico
Quando l'utente naviga altrove e il Composable esce dalla schermata, Compose cancels la coroutine. Nessuna pulizia manuale e nessuna perdita di risorse.
Abbinarlo allo stato
Di solito gli effetti scrivono il risultato nello state, così l'interfaccia viene ridisegnata. Memorizzi i dati caricati e la ricomposizione li mostrerà.
var data by remember { mutableStateOf<List<Item>>(emptyList()) }
LaunchedEffect(Unit) { data = repo.load() }Più chiavi per combinare i trigger
Può passare più chiavi. L'effetto viene riavviato ogni volta che cambia any di esse, una soluzione utile per ricaricare i dati quando cambiano i filtri.
LaunchedEffect(query, sort) {
results = search(query, sort)
}Un tipico modello di caricamento
Nel complesso è come una ricetta: imposti loading su true, attendi il risultato e poi lo memorizzi. Compose gestisce il ciclo di vita attorno alla sua coroutine.
LaunchedEffect(id) {
loading = true
item = repo.get(id)
loading = false
}Controllo rapido
Rifletta su come vengono controllati i riavvii.
Riepilogo: LaunchedEffect
Ottimo lavoro! LaunchedEffect esegue codice suspend legato alla composizione, si riavvia quando cambia la sua chiave e si annulla automaticamente quando il Composable esce. 🎯
Domande Frequenti
La lezione «LaunchedEffect per le coroutine» è gratuita?
Sì — il testo completo di «LaunchedEffect per le coroutine» è 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 «LaunchedEffect per le coroutine»?
Avvii operazioni suspend legate alla composizione. 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 1 di 4.
Quanto tempo richiede la lezione «LaunchedEffect per le coroutine»?
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
- LaunchedEffect per le coroutine
- rememberCoroutineScope per gli eventi
- DisposableEffect e pulizia
- derivedStateOf e snapshotFlow