Mengangkat State
Naikkan state agar composable dapat digunakan kembali.
Mengangkat State adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Apa Itu Pengangkatan Status?
Pengangkatan status berarti memindahkan status ke atas, keluar dari komposabel, ke pemanggilnya. Komposabel tersebut menjadi tanpa status: komposabel hanya menerima nilai dan melaporkan perubahan.
Dengan Status vs Tanpa Status
Komposabel dengan status memiliki statusnya sendiri menggunakan remember. Komposabel tanpa status tidak menyimpan status; komposabel ini menerima nilai sebagai parameter dan menyediakan suatu peristiwa. Komposabel tanpa status lebih mudah digunakan kembali dan diuji.
Pola value + onValueChange
Bentuk standar pengangkatan memiliki dua parameter: value (status saat ini, diteruskan ke bawah) dan lambda onValueChange (peristiwa, diteruskan ke atas).
@Composable
fun NameField(value: String, onValueChange: (String) -> Unit) {
TextField(value = value, onValueChange = onValueChange)
}Sebelum Diangkat
Di sini komposabel memiliki statusnya sendiri. Komposabel ini berfungsi, tetapi induknya tidak dapat mengakses teks tersebut dan komposabel lebih sulit digunakan kembali.
@Composable
fun NameField() {
var name by remember { mutableStateOf("") }
TextField(value = name, onValueChange = { name = it })
}Setelah Diangkat
Sekarang status berada di induk. Bidang tersebut tanpa status dan dapat digunakan kembali; induknya mengontrol nilainya.
@Composable
fun Parent() {
var name by remember { mutableStateOf("") }
NameField(value = name, onValueChange = { name = it })
}Ke Bawah dan Ke Atas
Polanya adalah status mengalir ke bawah, peristiwa mengalir ke atas. Nilai bergerak ke bawah sebagai parameter; perubahan bergerak ke atas melalui panggilan balik. Ini disebut aliran data satu arah.
Mengapa Diangkat?
Pengangkatan memungkinkan beberapa komposabel berbagi status yang sama, memungkinkan induk merespons perubahan, dan menjadikan komposabel anak sebagai fungsi murni dari inputnya — sempurna untuk pratinjau dan pengujian.
Ke Mana Status Diangkat
Angkat status ke leluhur bersama terendah yang membutuhkannya. Jika hanya satu komposabel yang menggunakan status tersebut, pengangkatan mungkin tidak diperlukan. Angkat status ketika sesuatu di atasnya perlu membaca atau mengontrolnya.
Contoh Bersama
Di sini, satu bagian status mengendalikan bidang dan pratinjau langsung sekaligus, yang hanya mungkin karena status tersebut diangkat.
@Composable
fun Editor() {
var text by remember { mutableStateOf("") }
Column {
TextField(value = text, onValueChange = { text = it })
Text(text = "Preview: $text")
}
}Tanpa Status Dapat Digunakan Kembali
Karena komposabel tanpa status menerima nilainya sebagai parameter, Anda dapat mempratinjaunya dengan data contoh dan menggunakannya di mana saja dengan pemilik status yang berbeda.
@Preview
@Composable
fun NameFieldPreview() {
NameField(value = "Sample", onValueChange = {})
}Menggabungkan Semuanya
Penghitung yang dapat digunakan kembali, dengan induk yang memiliki count dan tombol tanpa status.
@Composable
fun CounterButton(count: Int, onIncrement: () -> Unit) {
Button(onClick = onIncrement) {
Text(text = "Count: $count")
}
}
@Composable
fun Screen() {
var count by remember { mutableStateOf(0) }
CounterButton(count = count, onIncrement = { count++ })
}Pemeriksaan Cepat
Dalam pengangkatan status, dua hal apa yang biasanya disediakan oleh komposabel tanpa status?
Rangkuman
Pengangkatan status:
- Pindahkan status ke atas, ke pemanggil; jadikan anak tanpa status.
- Gunakan pola
value+onValueChange. - Status ke bawah, peristiwa ke atas — aliran data satu arah.
- Angkat status ke leluhur bersama terendah yang membutuhkannya.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengangkat State” gratis?
Ya — teks lengkap “Mengangkat State” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengangkat State”?
Naikkan state agar composable dapat digunakan kembali. Kamu berlatih Android 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 Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android 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 3 dari 4.
Berapa lama pelajaran “Mengangkat State” 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 Android Academy ini?
Ya. Setiap pelajaran Android 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.