CodeBlanks Logo Icon CodeBlanks

StatelessWidget nedir?

StatelessWidget'ın durumu olmayan widget olduğunu öğrenirsin.

StatelessWidget nedir?

StatelessWidget, oluşturulduktan sonra iç durumu (state) değişmeyen widget'tır. Sadece kurucu parametrelerden gelen veriye dayanarak görünüm üretir. Saat, etiket, bilgi kartı gibi statik içerikler için uygundur. build metodu yalnızca parametreler değiştiğinde yeniden çağrılır.

class Selam extends StatelessWidget {
  const Selam({super.key});

  @override
  Widget build(BuildContext context) {
    return Text('Merhaba');
  }
}

Stateless ve Stateful farkı

StatelessWidget durumu olmayan, StatefulWidget durumu olan widget'tır. Stateless widget'ta veri yalnızca kurucu ile gelir ve değişmez; Stateful widget'ta ise State nesnesi içindeki değişkenler kullanıcı etkileşimiyle güncellenir ve build yeniden çağrılır. Bir sayaç Stateful, bir başlık Stateless için uygundur.

// Stateless: veri kurucudan gelir
class Etiket extends StatelessWidget {
  final String metin;
  const Etiket({super.key, required this.metin});

  @override
  Widget build(BuildContext context) {
    return Text(metin);
  }
}

Uygulama Stateless bilgisi yazdır

main içinde iki satırı print ile yazdır: stateless statik ve build gorunum.

Başlangıç kodu

main.dart
void main() {
  // iki satır yazdır:
  // stateless statik
  // build gorunum

}

Örnek çözüm

main.dart
void main() {
  print('stateless statik');
  print('build gorunum');
}

Beklenen çıktı

stateless statik
build gorunum

Soru ve cevaplar

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

1 StatelessWidget ne zaman tercih edilir?

  • Yalnızca animasyonlu widget'lar için
  • Sunucu ile veri alışverişi yapan widget'lar için
  • Yalnızca kurucu parametrelere dayanan statik görünümler için Doğru cevap
  • İç durum sürekli değişen widget'lar için

Açıklama: StatelessWidget, durumu olmayan ve yalnızca kurucu parametrelere dayanan widget'lar içindir; sayaç gibi değişen veriler StatefulWidget gerektirir.

2 Stateless sınıf tanımı

Soru
class Selam extends ____ {
  @override
  Widget build(BuildContext context) {
    return Text('Selam');
  }
}
Cevap
class Selam extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text('Selam');
  }
}

Açıklama: StatelessWidget'dan türeyen sınıflar durumu olmayan widget'lar tanımlar.

3 StatelessWidget kavramları

Kavram Anlamı
StatelessWidget Durumu olmayan widget sınıfı
değişmez örnek Kurucu dışında güncellenmez
no state İç veri saklanmaz
statik görünüm StatelessWidget için uygun

Başlangıç bölümündeki tüm dersler