CV'me Gözat

Flutter Stateful Widget Yaşam Döngüsü

Eylül 17, 2021

Flutter Stateful Widget Yaşam Döngüsü

Merhaba kıymetli okurlar. Bugün sizlerle Flutter Stateful Widget Yaşam Döngüsü adlı konuyu ele alacağız. Çok uzatmadan hemen yazımıza geçmek istiyorum.

Stateful widgeti anlamak için öncelikle state kavramını bilmek gerek. State, ekranda görünen widgetin o anki durumunu ifade eder. Örneğin kırmızı renkli bir container widgetinin state parametresine karşılık gelen yapı rengidir. Yani container ya da widgetler içerisinde tutulan bilgiler state‘dir. Bu bilgiyle hareket ettiğimizde bu yazıyı okuyan sevgili okurlarımızın zihininde eminim şimdi neden stateful ve stataless diye iki ayrı state durumu var sorusunun cevabı canlandı 🙂 Eğer canlanmadı ise üzülmeyin zamanla bu kavramları tanıdıkça taşlar yerine oturacaktır.

Şimdi gelin hep beraber zihnimizde bir taşı daha yerine oturtmak için stateful widgeti kısaca tanıyalım

Stateful Widget

State kavramına yukarıda değindim. Widgetlerin o anki durumu olarak izah ettiğimiz bu kavram bir stateful widget olunca işlerin rengi değişiyor. State yapısının değiştiği yani ekranda bulunan o anki durumun değişebildiği yapılara Stateful yapılar diyoruz. Örnek olarak butona basıp container widgetinin renk değişikliğini ya da yeni bir flutter uygulaması yarattığımızda varsayılan olarak karşımıza çıkan counter uygulamasında ki sayacı verebiliriz.

Şimdi asıl soruya ve konuya değinebilirim. Stateful widget nasıl oluşuyor ve çalışıyor. Hadi şimdi gelin bu konuyu inceleyelim.

Stateful Widget Yaşam Döngüsü

Bu döngü 8 adımdan oluşmakla beraber ekranı tekrar tekrar çizebilir. Konuyu uzatmadan adımlara geçmek istiyorum

   1. createState(): Adından da anlayabileceğimiz üzere widget için gerekli olan state nesnesini yaratır. Bu parametre zorunlu bir parametredir. Zira state olmazsa o anki durum olmaz 🙂 Küçük bir örnek ile nerede karşımıza çıkıyor gösterelim.

class ExampleStatefulWidget extends StatefulWidget {
@override
_ExampleStatefulWidgetState createState() => _ExampleStatefulWidgetState();
}
//diğer kodlar
}

    2. initState(): State oluştuktan hemen sonra çalışır. Örneğin uygulamaya kullanıcı adı ve parolamızla giriş yaptıktan sonra ana sayfada bizi karşılayan bir alert metodunu kullanıcıya göstermek için kullanabiliriz.

@override
void initState() {
super.initState();
// TODO: implement initState
}

   3. didChangeDependencies(): Bir state değişikliği algılandığında initState() ve setState() ‘den hemen sonra çağırıp kullanabiliriz.

@override
void didChangeDependencies() {
super.didChangeDependencies();
}

  4. build(): State ne zaman değişirse o an çalışır. Ayrıca state nesnesinin oluşumu için build metodu şarttır.

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

  5. didUpdateWidget(): Widgetlerin güncellenip güncellenmediği kontrol etmek için kullanırız.

  6. setState(): Arayüzdeki değişiklikleri bildirmek için kullanılır.

setState(() {
// implement setState
});

  7. deactivate(): Widget tree’den bir widget ya da state silindiği zaman state pasif duruma geçer.

  8. dispose(): State widget tree yapısından kalıcı olarak silindiğinde çağırılır.

@override
void dispose() {
super.dispose();
// TODO: implement dispose
}

Evet bir yazımızın daha sonuna gelmiş olduk.

Bazı yapılar için örnek kod yazamadım ama kaynak kısmından kodlara erişebilirsiniz.

Sizinle vedalaşmadan önce gelişim için çabanın ve paylaşmanın önemini tekrardan hatırlatmak isterim. Benimde bu yolda ilerlememi ve gelişmemi sağlayan şeylerin başında çabam ve hiç tanımadığım insanların makaleleri. Sizlerde gerek video gerekse yazı ile bildiklerini aktarmaktan çekinmeyin. Bu vesile ile bu yazıda ve yine şahsımın gelişimi adına katkı sağlayan TEAMKRAKEN ekibine sevgi ve saygılarımı iletiyorum.

Kaynak ve daha fazlası için: buraya tıklayın

Diğer yazılarıma erişmek isterseniz de buraya tıklamanız yeterli. 🙂 İyi çalışmalar dilerim. Bir sonraki yazıda görüşmek üzere 🙂

 

Posted in Blog, FlutterTags:
Write a comment