Izmenjava podatkov med Redux aplikacijo in strežnikom
Ta razdelek bo za izkušene učence, ki se niso ustavili pri doseženem v Reduxu in so se odločili priti do konca tega učnega priročnika. V naslednjih dveh razdelkih se bomo dotaknili dela aplikacije Redux z asinhrono logiko, povezali našo aplikacijo s strežniškim delom in se naučili izmenjevati podatke z njo.
Iz prejšnjih razdelkov vemo, da v osnovi delovanja Redux aplikacije leži sinhroni mehanizem. Glavne faze dela so v pošiljanju akcij ob pojavu kakšnega dogodka v aplikaciji, nato posodobitvi stanja v store z funkcijo reducer, obvestiti komponente aplikacije o spremembi stanja in s tem prikazovanju nove vrednosti stanja v komponentah.
V resničnem življenju se pogosto zgodi, da aplikacija
potrebuje tudi asinhrono logiko, na primer pri
delu z zahtevki HTTP API in pridobivanjem podatkov
z zunanjega strežnika. Zato, da bi lahko naš
'sinhroni' Redux store deloval
s tako asinhrono logiko, uporabimo tako
imenovano middlware - programska oprema,
ki je posrednik ali povezava med
store naše aplikacije in, na primer,
strežnikom, s katerim bomo začeli delo v tem
poglavju učnega priročnika.
Za Redux je bilo ustvarjenih veliko takih middleware,
vendar je najbolj razširjen med njimi
in uradno priporočen pri delu Redux
aplikacij z asinhrono logiko še vedno
Redux Thunk.
Ta programska oprema nam pomaga uporabljati običajne
funkcije (ali thunks), ki lahko vsebujejo
v sebi asinhrono logiko, kot so
setTimeout, Promises, async/await,
za interakcijo z našim store. Kar zadeva
sam termin, thunk je koda, ki
opravlja neko odloženo delo.
Zdaj, ko smo se nekoliko seznanili s tem, kako delati v Reduxu z asinhrono logiko, lahko začnemo z implementacijo te faze v naši aplikaciji. Potrebno je narediti tako, da lahko naša aplikacija komunicira z nekim zunanjim strežnikom, sprejema od njega in prenaša podatke nanj. Z drugimi besedami, pred nami čaka razburljiva in zelo pomembna tema. Začnimo.