Datautveksling mellom Redux-applikasjonen og serveren
Dette avsnittet vil være for erfarne elever som ikke stoppet på det de hadde oppnådd i Redux og bestemte seg for å gå helt til slutten av denne veiledningen. I de neste to avsnittene vil vi ta for oss hvordan en Redux-applikasjon fungerer med asynkron logikk, koble applikasjonen vår til en server og lære den å utveksle data med den.
Fra tidligere avsnitt vet vi at kjernen i en Redux-applikasjon er en synkron mekanisme. Hovedtrinnene i arbeidet består i å sende actions når en hendelse inntreffer i applikasjonen, deretter oppdatere tilstanden i store med en reducer-funksjon, varsle komponentene i applikasjonen om tilstandsendring og følgelig visning av den nye tilstandsverdien i komponentene.
I virkeligheten hender det ofte at applikasjonen
trenger asynkron logikk, for eksempel når
den arbeider med HTTP API-forespørsler og mottar data
fra en ekstern server. Derfor, for at
vår 'synkron' Redux store skal kunne fungere
med slik asynkron logikk, brukes såkalt
middleware - programvare
som fungerer som en mellomledd eller forbindelse mellom
store i applikasjonen vår og, for eksempel,
en server, som vi skal begynne å arbeide med i dette
kapitlet i veiledningen.
Det er skapt mange slike middlewares for Redux,
men den mest utbredte blant
dem og som fortsatt offisielt anbefales for Redux-
applikasjoner som arbeider med asynkron logikk, er
Redux Thunk.
Denne programvaren hjelper oss med å bruke vanlige
funksjoner (eller thunks), som kan inneholde
asynkron logikk, som
setTimeout, Promises, async/await,
for å samhandle med vår store. Når det gjelder
sjelve begrepet, er en thunk kode som
utfører et eller annet utsatt arbeid.
Nå som vi har blitt litt kjent med hvordan vi kan arbeide med asynkron logikk i Redux, kan vi gå i gang med implementeringen av dette trinnet i applikasjonen vår. Vi må sørge for at applikasjonen vår kan samhandle med en ekstern server, ved å motta data fra den og sende data til den. Med andre ord, foran oss venter et spennende og veldig viktig tema. La oss begynne.