createState ve State
- Flutter kursu
- Başlangıç
- Ders 22/99
- 4 dk
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
void main() {
// iki satır yazdır:
// createState uretir
// state yasar
}Örnek çözüm
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
@override
State<Sayac> ____() => _SayacState();
@override
State<Sayac> createState() => _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ı |