CodeBlanks Logo Icon CodeBlanks

createState ve State

createState ile State nesnesinin nasıl oluştuğunu öğrenirsin.

createState

StatefulWidget'ın createState metodu, widget ekrana yerleştirildiğinde bir State nesnesi üretir. Bu State, widget'ın yaşam boyunca değişen verisini tutar. Flutter createState'i widget her ağaca eklendiğinde bir kez çağırır; widget kaldırılıncaya kadar aynı State yaşar.

class Sayac extends StatefulWidget {
  const Sayac({super.key});

  @override
  State<Sayac> createState() => _SayacState();
}

class _SayacState extends State<Sayac> {
  int deger = 0;

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

State ve setState

State sınıfı, widget'ın değişken verisini ve build metodunu barındırır. Veriyi değiştirmek için setState çağrılır; setState, State'i dirty olarak işaretler ve Flutter'ın build'i yeniden çağırmasını sağlar. setState kullanmadan değişken güncellersen ekran yenilenmez.

class _SayacState extends State<Sayac> {
  int deger = 0;

  void artir() {
    setState(() {
      deger = deger + 1;
    });
  }

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

Uygulama createState bilgisini yazdır

main içinde iki satırı print ile yazdır: createState uretir ve state yasar.

Başlangıç kodu

main.dart
void main() {
  // iki satır yazdır:
  // createState uretir
  // state yasar

}

Örnek çözüm

main.dart
void main() {
  print('createState uretir');
  print('state yasar');
}

Beklenen çıktı

createState uretir
state yasar

Soru ve cevaplar

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

1 createState ne zaman çağrılır?

  • Widget ağaca ilk eklendiğinde bir kez Doğru cevap
  • Widget her yeniden inşa edildiğinde
  • setState her çağrıldığında
  • Uygulama kapandığında

Açıklama: createState, widget ağaca ilk eklendiğinde bir kez çağrılır ve State nesnesini üretir; her build'de tekrarlanmaz.

2 createState metodu

Soru
@override
State&lt;Sayac&gt; ____() =&gt; _SayacState();
Cevap
@override
State&lt;Sayac&gt; createState() =&gt; _SayacState();

Açıklama: createState metodu, StatefulWidget için State nesnesini üretir.

3 createState ve State

Kavram Anlamı
createState State nesnesini üreten metot
State nesnesi Değişken veriyi tutar
setState State'i dirty işaretler
_SayacState State sınıfının uygulayıcısı

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