0Pricing
Jetpack Compose Academy · Ders

value ve onValueChange ile Durumu Yukarı Taşıma

Durumu aşağı, olayları yukarı aktarın.

value ve onValueChange ile Durumu Yukarı Taşıma, CoddyKit'te ücretsiz bir Jetpack Compose Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Jetpack Compose Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Jetpack Compose Academy kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

State Hoisting in One Line

State hoisting means moving state out of a Composable up to its caller. The component becomes stateless and the parent stays in charge.

The Core Pattern

Replace internal state with two parameters: a value to display and an onValueChange callback to report changes.

fun NameField(value: String, onValueChange: (String) -> Unit) {
  TextField(value = value, onValueChange = onValueChange)
}

State Down, Events Up

Data flows down through value; user actions flow up through onValueChange. This one-way loop is called unidirectional data flow. ↕️

Who Owns the State Now

The parent owns the state with remember and passes it in. The child never stores it, so two callers can drive the same component differently.

var name by remember { mutableStateOf("") }
NameField(value = name, onValueChange = { name = it })

value: The Read Side

The value parameter is what the component shows right now. It is read-only to the child; the child never edits it directly.

onValueChange: The Write Side

When the user types, the child calls onValueChange(newText). The parent decides whether and how to update its state.

Why Not Edit In Place

A stateless child cannot just reassign value, it is only an input. Reporting the change upward keeps a single owner in control.

Controlled Components

This is a controlled component: the parent fully decides what shows. You can transform, ignore, or validate input before storing it.

NameField(value = name, onValueChange = { name = it.uppercase() })

Reusing the Same Field

Because the field is hoisted, you can drop it into a login screen, a search bar, or a settings page, each with its own owning state.

Hoisting Beyond Text

The pattern fits any state: a checked Boolean with onCheckedChange, a selected item with onSelect. Same idea, different names.

fun ToggleRow(checked: Boolean, onCheckedChange: (Boolean) -> Unit) {
  Switch(checked = checked, onCheckedChange = onCheckedChange)
}

A Simple Rule

Hoist state to the lowest common parent that needs to read or change it, no higher. That keeps ownership clear and code clean.

Quick Check

In the hoisting pattern, what does the child do when the user types?

Recap

Hoisting swaps internal state for value plus onValueChange. State flows down, events flow up, and the parent stays in charge. 🚀

Sıkça Sorulan Sorular

“value ve onValueChange ile Durumu Yukarı Taşıma” dersi ücretsiz mi?

Evet — “value ve onValueChange ile Durumu Yukarı Taşıma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Jetpack Compose Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Jetpack Compose Academy kursu toplamda 4 dersten oluşur.

“value ve onValueChange ile Durumu Yukarı Taşıma” dersinde ne öğreneceğim?

Durumu aşağı, olayları yukarı aktarın. Jetpack Compose Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Jetpack Compose Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Jetpack Compose Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“value ve onValueChange ile Durumu Yukarı Taşıma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Jetpack Compose Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Jetpack Compose Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Durumlu ve Durumsuz Composable'lar
  2. value ve onValueChange ile Durumu Yukarı Taşıma
  3. Tek Doğruluk Kaynağı
  4. Compose Durum Yuvaları ve İçerik Lambda'ları
← Jetpack Compose Academy Sayfasına Dön