Ubadilishanaji wa Data kati ya Programu ya Redux na Seva
Kutoka kwa sehemu zilizopita, tunajua kuwa msingi wa kazi ya programu ya Redux ni utaratibu wa synchroni. Hatua kuu za kazi zinajumuisha kutuma matukio (actions) linapotokea tukio fulani kwenye programu, kisha kusasisha hali (state) kwenye kuhifadhi (store) kwa kutumia kitendakazi-kipunguzi (reducer), kuarifu vipengele (components) vya programu kuhusu mabadiliko ya hali na ipasavyo kuonyesha thamani mpya ya hali kwenye vipengele.
Katika maisha halisi mara nyingi hutokea kwamba programu
inahitaji mantiki ya asynchroni pia, kwa mfano wakati wa
kufanya kazi na maombi ya HTTP API na kupokea data
kutoka kwa seva ya nje. Kwa hivyo, ili
kuhifadhi (store) yetu 'synchroni' ya Redux iweze kufanya kazi
na mantiki kama hii ya asynchroni, hutumiwa kinachojulikana
kama middlware - programu ya kati,
inayetumika kama mwadrishaji au kiunganishi kati ya
kuhifadhi (store) ya programu yetu na, kwa mfano,
seva, ambayo tutaanza kufanya nayo kazi katika
sura hii ya mafunzo.
Kwa Redux kumeundwa middleware nyingi kama hizi,
lakini iliyoenea zaidi kati yao
na inayopendekezwa rasmi wakati wa kufanya kazi na programu za Redux
zenye mantiki ya asynchroni bado ni
Redux Thunk.
Programu hii inatusaidia kutumia kawaida
ya vitendakazi (au thunks), ambavyo vinaweza kuwa na
mantiki ya asynchroni ndani yao, kama vile
setTimeout, Promises, async/await,
kwa kuingiliana na kuhifadhi (store) yetu. Kuhusu
neno lenyewe, thunk ni msimbo ambao
hufanya kazi fulani iliyocheleweshwa.
Sasa, kwa kuwa tumefahamiana kidogo na jinsi tunavyofanya kazi katika Redux kwa mantiki ya asynchroni, tunaweza kuanza kutekeleza hatua hii kwenye programu yetu. Tunahitaji kufanya ili programu yetu iweze kuingiliana na seva fulani ya nje, ikipokea kutoka kwake na kumpitishia data. Kwa maneno mengine, mbele yetu inasubiri mada ya kusisimua na muhimu sana. Tuanze.