rememberCoroutineScope pour les événements
Lancez des coroutines depuis des fonctions de rappel.
rememberCoroutineScope pour les événements est une leçon Jetpack Compose Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Jetpack Compose Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Some Work Starts on a Tap
LaunchedEffect runs as composition happens. But scrolling a list or showing a snackbar should start from a callback like onClick, not on entry.
Meet rememberCoroutineScope
A rememberCoroutineScope gives you a CoroutineScope bound to the composition. You keep it around and launch from event handlers.
val scope = rememberCoroutineScope()Launch from onClick
Inside a click lambda you call scope.launch to start suspend work. The body itself stays free of coroutines.
Button(onClick = {
scope.launch { listState.animateScrollToItem(0) }
}) { Text("Top") }Why Not LaunchedEffect Here
LaunchedEffect fires on composition, so it cannot react to a user event. The scope lets you decide exactly when to launch.
Tied to the Call Site
The scope is cancelled automatically when the Composable that created it leaves composition. Pending jobs are cleaned up for you.
Perfect for Snackbars
Showing a snackbar is a suspend call, so it must run in a coroutine. Trigger it from a button using your remembered scope.
scope.launch {
snackbarHostState.showSnackbar("Saved")
}Scrolling on Demand
Programmatic scrolling like animateScrollToItem is also suspending. Launch it from the scope when the user taps a jump button.
scope.launch { listState.animateScrollToItem(index) }Keep References Stable
Because you call remember, the same scope survives recompositions. You will not accidentally create a new scope every redraw.
Combine Several Calls
One launch block can sequence multiple suspend steps. They run in order on the same coroutine, which keeps event logic readable.
scope.launch {
drawerState.close()
navController.navigate("home")
}Do Not Capture It in Effects
For composition-triggered work prefer LaunchedEffect. Reserve rememberCoroutineScope for user-driven and other callback-driven launches.
A Save Button Example
Read state, run a suspend save, then show feedback, all inside one launch fired by the tap. The remembered scope ties it to the screen.
onClick = {
scope.launch {
repo.save(form)
snackbar.showSnackbar("Done")
}
}Quick Check
Think about where each coroutine helper belongs.
Recap: rememberCoroutineScope
Great! Use rememberCoroutineScope to launch suspend work from callbacks like onClick. It is scoped to the composition and cancels itself when the Composable leaves. ✨
Questions Fréquemment Posées
La leçon « rememberCoroutineScope pour les événements » est-elle gratuite ?
Oui — le texte complet de « rememberCoroutineScope pour les événements » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Jetpack Compose Academy, passe à CoddyKit PRO. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « rememberCoroutineScope pour les événements » ?
Lancez des coroutines depuis des fonctions de rappel. Tu pratiques Jetpack Compose Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Jetpack Compose Academy ?
Aucune expérience préalable n'est requise. Jetpack Compose Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « rememberCoroutineScope pour les événements » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Jetpack Compose Academy ?
Oui. Chaque leçon Jetpack Compose Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- LaunchedEffect pour les coroutines
- rememberCoroutineScope pour les événements
- DisposableEffect et nettoyage
- derivedStateOf et snapshotFlow