Redux Uygulaması ile Sunucu Arasında Veri Alışverişi
Bu bölüm, Redux'ta elde ettikleriyle yetinmeyip bu eğitimin sonuna kadar gitmeye karar veren seçkin öğrenciler için olacak. Sonraki iki bölümde, Redux uygulamasının asenkron mantığıyla çalışmasını ele alacak, uygulamamızı bir sunucu tarafıyla bağlayacağız ve onunla veri alışverişi yapmayı öğreteceğiz.
Önceki bölümlerden, bir Redux uygulamasının çalışmasının temelinde senkron bir mekanizma olduğunu biliyoruz. Temel çalışma aşamaları, uygulamada bir olay meydana geldiğinde aksiyon göndermeyi, ardından mağazadaki state'i bir reducer fonksiyonuyla güncellemeyi, uygulama bileşenlerini state'deki değişiklik konusunda bilgilendirmeyi ve buna bağlı olarak yeni state değerinin bileşenlerde görüntülenmesini içerir.
Gerçek hayatta, uygulamanın asenkron mantığa da
ihtiyaç duyduğu sık sık olur, örneğin HTTP API
istekleriyle çalışırken ve harici bir sunucudan
veri alırken. Bu nedenle, 'senkron' Redux
mağazamızın böyle bir asenkron mantıkla
çalışabilmesi için, sözde middlware
kullanılır - uygulamamızın mağazası ile,
örneğin bu eğitimin bölümünde çalışmaya
başlayacağımız sunucu arasında aracı veya
bağlantı görevi gören yazılım.
Redux için birçok middleware oluşturulmuştur,
ancak aralarında en yaygın kullanılan ve Redux
uygulamalarının asenkron mantıkla çalışmasında
resmi olarak tavsiye edilmeye devam eden hala
Redux Thunk'tır.
Bu yazılım, mağazamızla etkileşimde bulunmak
için setTimeout, Promises,
async/await gibi asenkron mantık
içerebilen sıradan fonksiyonları (veya thunk'ları)
kullanmamıza yardımcı olur. Terimin kendisine
gelince, thunk - ertelenmiş bir iş
yapan koddur.
Artık Redux'ta asenkron mantıkla nasıl çalışacağımızı biraz tanıdığımıza göre, bu aşamayı uygulamamızda hayata geçirmeye başlayabiliriz. Uygulamamızın, herhangi bir harici sunucuyla etkileşime girebilmesini, ondan veri alabilmesini ve ona veri iletebilmesini sağlamamız gerekiyor. Başka bir deyişle, önümüzde heyecan verici ve çok önemli bir konu bizi bekliyor. Başlayalım.