CodeBlanks Logo Icon CodeBlanks

@Composable

@Composable ile bileşen yazmayı öğrenirsin.

@Composable nedir?

@Composable, bir fonksiyonu UI bileşeni olarak işaretleyen annotation'dır. Compose yalnızca bu fonksiyonları UI ağacına dahil eder.

Bir @Composable fonksiyon Unit döndürür; parametre olarak veri alır ve UI tanımlar. Örnek: @Composable fun Greeting(name: String) { Text("Hi, $name") }. Bu fonksiyon başka bir @Composable içinden çağrılır. Compose, veri değişince ilgili fonksiyonu yeniden çizilir. Bu dersteki greeting modeli konsepti gösterir.

@Composable ilkeleri

Bir @Composable fonksiyon yalnızca başka bir @Composable içinden çağrılabilir. Unit döndürür ve veriyi parametre olarak alır.

Composable fonksiyonlar saf olmalıdır: aynı girdi aynı UI'yi üretir. Yan etkiler SideEffect veya LaunchedEffect içine konur. Bu saflık, Compose'un gereksiz yeniden çizimi (recomposition) atlamasını sağlar. Durum (state) değişince yalnızca ilgili composable yeniden çizilir. Bu, UI performansını yüksek tutar.

Uygulama greeting yaz

fun greeting(name: String): String tanımla. "Hi, $name!" döndürsün. main içinde println(greeting("Ayşe")) yaz.

Başlangıç kodu

Main.kt
// greeting fonksiyonunu ekle

fun main() {
    // greeting sonucunu yazdır
}

Örnek çözüm

Main.kt
fun greeting(name: String): String = "Hi, $name!"
fun main() {
    println(greeting("Ayşe"))
}

Beklenen çıktı

Hi, Ayşe!

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 @Composable bildirimini tamamla

Soru
____ fun Greeting(name: String) { }
Cevap
@Composable fun Greeting(name: String) { }

Açıklama: @Composable annotation'ı fonksiyonu UI bileşeni yapar.

2 @Composable parçalarını eşle

Kavram Anlamı
@Composable UI fonksiyonu
Unit Dönüş tipi
name: String Parametre
Greeting Bileşen adı

3 @Composable fonksiyon ne döndürür?

Main.kt
A composable returns no value.
  • String
  • Unit Doğru cevap
  • Int
  • Boolean

Açıklama: @Composable fonksiyon Unit döndürür; UI tanımlar.

Uzman bölümündeki tüm dersler