Merhabalar.

Flutter’da bir uygulama yarattığımızda iki ana durumdan bahsedebiliriz.

Ya sadece static değişmeyen yapılarımız vardır ya da kullanıcı etkileşimiyle beraber tekrar tekrar duruma göre yeniden oluşturulması ve çalıştırılması, güncellenmesi gereken yapılarımız vardır.

State nedir?

State, oluşturduğumuz uygulamanın durumu olarak tanımlanabilir. Ekranın anlık görüntüsüdür. Bir ekranın görüntüsünü yani State’i etkileyen birçok widget vardır. Örnek vermek gerekirse: yazılar, resimler yine en basit örnekleridir. State değiştiğinde, ekrandaki görüntü de değişir. O yüzden, kullandığımız widgetlara göre state seçimini doğru kulanmak önemlidir.

StatelessWidget Nedir?

StatelessWidget bir sınıftır. Bu sınıftan türetilen bir sınıf static bir yapı gibi davranacaktır. Bir statelesswidget, yüklendiğinde / oluşturulduğunda yalnızca bir kez oluşturulur.


Herhangi bir olaya veya kullanıcı eylemine dayanarak yeniden oluşturulmaz. Çağrıldğında ilk oluşturulan hali gösterilir.


Bir StatelessWidget constructoruna bazı parametreler iletebiliriz.

Ancak, bu parametrelerin daha sonraki bir aşamada değişmeyeceğini (mutasyon yapamayacağını) ve sadece olduğu gibi kullanılması gerekir.

StatefullWidget Nedir?

İçinde durum/State barındıran widget. Widget tarafından tutulan ve bu Widget’ın kullanım ömrü boyunca değişebilen veri kümesine State adı verilir.


İçerisinde kullanım ömrü boyunca değişebilen veri kümesi yani state tutan widgetlere StatefulWidgetlar denir.


Bir State e uygulanan değişiklikler, Widget’ı yeniden oluşturmaya zorlar.

StatefulWidget Çalışma Sırası

Kurulum:
1. StatefulWidget Constructur() (sadece ilk kurulumda çalışır)
2. StatefulWidget createState() (sadece ilk kurulumda çalışır)
3. _StatefulWidget initState() (sadece ilk kurulumda çalışır)
4. _StatefulWidget build()

Güncelleme:
1. _StatefulWidget setState()
2. _StatefulWidget didUpdateWidget()
3. _StatefulWidget build()

a) StatefulWidgerlerde bir üst klasın propertilerine ulaşamak için “widget.property” kullanılır.

Son olarak bir tekrar yapalım.

Eğer, kullanacağımız ekranda değişen herhangi bir yapımız yoksa bunu Stateless widget kullanarak oluştururuz. Sabit yapılarla, durumsuz bir haldir. Yani değişen bir şey yoktur. Örnek olarak, koyacağımız bir başlık yazısı gibi değişmeyen widgetlarla, stateless widget kullanırız.

Eğer, kullanacağımız ekranda widgetlarda değişiklik olacaksa bunu Stateful widget kullanarak oluştururuz. Değişken yapılarla, durumsal bir haldir yani belirli durumlara sahiptir. Örnek olarak, ekranda bir saat göstermek istersek veya sayaçlı bir sistem gibi sürekli değişen değerlerde, stateful widget kullanırız.

Henüz kodlama yapılarıyla beraber görmedik hiç bu anlamda anlayamadık diye dertlenmeyin. Kodlama kısmına geldiğimizde çok daha kolay bir şekilde mantık yürütüp anlayabilin diye baştan bunları göstermek istedim.

Bir sonraki yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.