Datu apmaiņa starp Redux lietotni un serveri
Šī sadaļa būs pieredzējušiem audzēkņiem, kuri neapstājās sasniegtajā Redux un nolēma nonākt līdz šī mācību grāmatas beigām. Nākamajās divās sadaļās mēs apskatīsim Redux lietotnes darbību ar asinhronu loģiku, savienosim mūsu lietotni ar servera daļu un iemācīsim to apmainīties ar to ar datiem.
No iepriekšējām sadaļām mēs zinām, ka Redux lietotnes darbības pamatā ir sinhronais mehānisms. Galenie darbības posmi ietver darbību sūtīšanu, kad lietotnē notiek kāds notikums, pēc tam stāvokļa atjaunināšanu store ar reducer funkciju, paziņojumu komponentiem par stāvokļa izmaiņām un attiecīgi jaunā stāvokļa vērtības attēlošanu komponentos.
Reālajā dzīvē bieži notiek, ka lietotnei
ir nepieciešama arī asinhrona loģika, piemēram, strādājot
ar HTTP API pieprasījumiem un datu saņemšanu
no kāda ārēja servera. Tāpēc, lai
mūsu 'sinhronais' Redux store varētu strādāt
ar šādu asinhronu loģiku, tiek izmantots tā
sauktais middlware - programmatūra,
kas ir starpnieks vai saikne starp
mūsu lietotnes store un, piemēram,
serveri, ar kuru mēs sāksim darbu šajā
mācību grāmatas nodaļā.
Redux ir izveidots daudz šādu middleware,
tomēr visplašāk izplatītais starp
tiem un oficiāli ieteicamais, strādājot ar Redux
lietotnēm ar asinhronu loģiku, pagaidām joprojām paliek
Redux Thunk.
Šī programmatūra palīdz mums izmantot parastās
funkcijas (vai thunk), kuras var saturēt
sevī asinhronu loģiku, piemēram,
setTimeout, Promises, async/await,
lai mijiedarbotos ar mūsu store. Kas attiecas
uz pašu terminu, thunk - ir kods, kurš
veic kādu atliktu darbu.
Tagad, kad mēs nedaudz iepazināmies ar to, kā mums strādāt Redux ar asinhronu loģiku, mēs varam ķerties pie šī posma īstenošanas mūsu lietotnē. Mums jāpanāk, lai mūsu lietotne varētu mijiedarboties ar kādu ārēju serveri, saņemot no tā un pārraidot tam datus. Citiem vārdiem sakot, mūs priekšā gaida aizraujoša un ļoti svarīga tēma. Sāksim.