30 entry daha
  • insanların anlaması çok zor dediğine bakmayın, bir kere öğrendiğinizde react native gibi yaygın kullanılan bi frameworkde çok rahat uygulama geliştirebilirsiniz. mantığını biraz anlatmaya çalışayım müsadenizle.

    şimdi diyor ki bu arkadaş, eğer user interface'in üzerindeki işlemleri actiona bağlarsan, ne zaman kullanıcı bu ekran üzerinde ilgili bir işlem yaparsa, actiondaki karşılık gelen işlemi tetiklerim, actiondaki dönen sonucu da ilgili reducera gönderirim diyor. reducer'da state'deki veriyi güncelliyor. bu işlem sonucunda güncellenen state propertylerini içeren bütün user interfaceler re-render oluyor.

    bi örnek ile biraz daha kafanızda canlandırmaya çalışayım. şimdi diyelim ki ekranınızda bir + işlemi var, bir de 1 değerini tutan state'in counter property'si var. ne zaman siz bu + işaretine basarsanız, ekrandaki sayının 1 artmasını istiyosunuz. bu işlemi gerçekleştirmek için bu + butonunun press eventine actionda bir metod bağlıyosunuz. kullanıcı + ya bastığı zaman bu metod mevcut sayıyı alıp üzerine 1 ekleme işlemini yapıyor. dönen sonucu da reducer'a gönderiyor. reducer state deki counter property'sini update ediyor. ardından bu state'in counter property'sini içeren ekran yeniden render oluyor ve ekran 2 olarak güncellenmiş oluyor.

    yani işlem sırası:

    ui event > action > reducer > re-render şeklinde.

    dikkat etmeniz önemli nokta reducer her zaman bir sonuç dönmek zorunda. yoksa işleminiz error verir.

    eğer bu yazdıklarım anlaşıldıysa ve talep olursa dispatch mantığını da basitçe ekleyebilirim.

    edit: dispatch mantığını da kısaca ekleyim. şimdi biliyosunuz kodumuz asenkron çalışıyo. yani bi task çalışırken yerine göre paralelde başka bi task da çalışabiliyo. örnek veriyorum, databaseden bi veri almak istediniz, bunu da action'da get( ) methodunun içinde yaptınız diyelim. gönderdiniz requesti, datanın dönmesini bekliyosunuz. siz kodun içerisinde başka işlemler yaparken, asenkron çalışan get( ) methodu 5 saniye sonra sonuç döndü diyelim. işte bu returnü yani dönen sonucu dispatch( )'in içine koyarsanız, dispatch sonuç döndüğü anda sonucu reducera aktarıyo. gerisi yine aynı redux mantığı. reducer state'i güncelliyo. o state'i içeren ekranlardaki componentlar da rendee oluyo. böylelikle asenkron çalışan methodlarınızı handle etmiş yani halletmiş oluyosunuz.
12 entry daha
hesabın var mı? giriş yap