Sobes.tech
Junior — Middle

Jetpack Compose'ta yan etkilerin ne anlaşıldığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Jetpack Compose'ta yan etkiler, bileşim fonksiyonunun dışında durumu etkileyen veya dış dünya ile etkileşime giren işlemlerdir (örneğin, API çağrıları, veritabanına yazma, animasyon başlatma, UI ile doğrudan ilişkili olmayan durumları değiştirme).

Compose, deklaratif bir UI çerçevesidir ve bileşim fonksiyonlarının saf olması (yan etki olmadan) UI’nin öngörülebilirliğini ve tekrar edilebilirliğini sağlamak için gereklidir.

Compose'ta yan etkileri yönetmek için özel API'ler kullanılır, örneğin:

  • LaunchedEffect — anahtar değiştiğinde coroutine başlatmak için.
  • SideEffect — başarılı bir bileşim geçişinden sonra işlemleri gerçekleştirmek için.
  • DisposableEffect — bileşenin yaşam döngüsü ile ilişkili kaynakları başlatmak ve temizlemek için.

LaunchedEffect kullanımına örnek:

@Composable
fun MyComposable(userId: String) {
    LaunchedEffect(userId) {
        // userId değiştiğinde ağdan veri iste
        val data = fetchData(userId)
        // durumu güncelle
    }
}

Bu nedenle, Compose'taki yan etkiler, dış dünya ile etkileşime geçmeyi sağlayan, kontrol edilen işlemlerdir ve deklaratif UI ilkelerini ihlal etmeden yapılabilir.