StatelessWidget nedir?
- Flutter kursu
- Başlangıç
- Ders 16/99
- 4 dk
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
void main() {
// iki satır yazdır:
// stateless statik
// build gorunum
}Örnek çözüm
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ı
class Selam extends ____ {
@override
Widget build(BuildContext context) {
return Text('Selam');
}
}
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 |