rememberCoroutineScope untuk Event
Luncurkan coroutine dari callback.
rememberCoroutineScope untuk Event adalah pelajaran Jetpack Compose Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Jetpack Compose Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.
Sebagian Pekerjaan Dimulai dari Ketukan
LaunchedEffect berjalan saat composition berlangsung. Namun, menggulir daftar atau menampilkan snackbar seharusnya dimulai dari callback seperti onClick, bukan saat masuk.
Kenali rememberCoroutineScope
rememberCoroutineScope memberi Anda CoroutineScope yang terikat pada composition. Anda dapat menyimpannya dan menjalankannya dari penangan kejadian.
val scope = rememberCoroutineScope()Jalankan dari onClick
Di dalam lambda ketukan, panggil scope.launch untuk memulai pekerjaan suspend. Body itu sendiri tetap bebas dari coroutine.
Button(onClick = {
scope.launch { listState.animateScrollToItem(0) }
}) { Text("Top") }Mengapa Bukan LaunchedEffect di Sini
LaunchedEffect dijalankan saat composition, sehingga tidak dapat merespons event pengguna. Scope memungkinkan Anda menentukan kapan harus menjalankannya.
Terikat pada Lokasi Panggilan
Scope secara otomatis cancelled saat Composable yang membuatnya keluar dari composition. Pekerjaan yang tertunda dibersihkan untuk Anda.
Cocok untuk Snackbar
Menampilkan snackbar adalah panggilan suspend, sehingga harus dijalankan dalam coroutine. Picu dari tombol menggunakan scope yang Anda ingat.
scope.launch {
snackbarHostState.showSnackbar("Saved")
}Menggulir Sesuai Permintaan
Pengguliran terprogram seperti animateScrollToItem juga bersifat suspend. Jalankan dari scope saat pengguna mengetuk tombol lompat.
scope.launch { listState.animateScrollToItem(index) }Pertahankan Referensi Tetap Stabil
Karena Anda memanggil remember, scope yang sama bertahan selama recomposition. Anda tidak akan membuat scope baru secara tidak sengaja pada setiap gambar ulang.
Gabungkan Beberapa Panggilan
Satu blok peluncuran dapat mengurutkan beberapa langkah suspend. Langkah-langkah tersebut berjalan berurutan dalam coroutine yang sama, sehingga logika kejadian tetap mudah dibaca.
scope.launch {
drawerState.close()
navController.navigate("home")
}Jangan Menangkapnya dalam Efek
Untuk pekerjaan yang dipicu composition, pilih LaunchedEffect. Gunakan rememberCoroutineScope untuk peluncuran yang dipicu pengguna atau callback lainnya.
Contoh Tombol Simpan
Baca state, jalankan penyimpanan suspend, lalu tampilkan umpan balik, semuanya dalam satu peluncuran yang dipicu oleh ketukan. scope yang diingat mengikatnya ke layar.
onClick = {
scope.launch {
repo.save(form)
snackbar.showSnackbar("Done")
}
}Pemeriksaan Singkat
Pikirkan di mana setiap pembantu coroutine seharusnya digunakan.
Rangkuman: rememberCoroutineScope
Bagus! Gunakan rememberCoroutineScope untuk menjalankan pekerjaan yang ditangguhkan dari callback seperti onClick. Cakupannya adalah composition dan coroutine akan dibatalkan otomatis saat Composable keluar. ✨
Belajar Kotlin dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “rememberCoroutineScope untuk Event” gratis?
Ya — teks lengkap “rememberCoroutineScope untuk Event” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Jetpack Compose Academy, upgrade ke CoddyKit PRO. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “rememberCoroutineScope untuk Event”?
Luncurkan coroutine dari callback. Kamu berlatih Jetpack Compose Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Jetpack Compose Academy?
Tidak diperlukan pengalaman sebelumnya. Jetpack Compose Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “rememberCoroutineScope untuk Event” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Jetpack Compose Academy ini?
Ya. Setiap pelajaran Jetpack Compose Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- LaunchedEffect untuk Coroutine
- rememberCoroutineScope untuk Event
- DisposableEffect & Pembersihan
- derivedStateOf & snapshotFlow