Osnovni izrazi v Redux
V tej lekciji bomo na kratko prešli osnovne pojme in izraze, katerih obvladovanje je potrebno za nadaljnje učenje Redux.
Začeli bomo z akcijo (action).
To je nek dogodek, ki
opisuje, kaj se je zgodilo v naši
aplikaciji. Tehnično je to običen
JavaScript objekt,
ki vsebuje polje type, v katerega vpišemo
ime akcije.
Drugo pomembno polje objekta z akcijo
je polje payload.
Vsebovalo bo koristno nosilnost
akcije. Pod koristno nosilnostjo razumemo
nekatere podatke, ki se posredujejo
kot parametri v akcijo.
Poleg tega so v tem objektu lahko tudi druga polja z dodatnimi informacijami.
Za primer ustvarimo akcijo
in jo poimenujmo addOrderAction. Naj
odgovarja za dodajanje naročila.
To pomeni, da bomo v lastnosti type navedli, da
je bilo naročilo dodano (orderAdded) v naročila
(orders). V payload pa navedimo podrobneje,
katero naročilo gre, na primer - prebarvati
steno:
const addOrderAction = {
type: 'orders/orderAdded',
payload: 'Paint a wall'
}
Da ne bi morali vsakič pisati objekta
z akcijo ročno, lahko uporabimo
tako imenovani action creator - funkcijo,
ki bo ustvarila in vrnila
nam objekt z akcijo. Poimenujmo jo
addOrder. Kot parameter ji bomo
posredovali želeno besedilo za
lastnost payload:
const addOrder = text => {
return {
type: 'orders/orderAdded',
payload: text
}
}
Naslednji pomemben pojem v verigi je reducer (reduktor) - funkcija, ki sprejme trenutno stanje in objekt z akcijo. Ta funkcija odloča, kako posodobiti stanje in vrne že posodobljeno stanje, če je to potrebno.
Naslednji pojem je shramba (store) - to je objekt, v katerem je shranjeno trenutno globalno stanje Redux aplikacije. Ta objekt ima metodo getState, s pomočjo katere lahko dobimo trenutno vrednost stanja.
Shramba ima tudi metodo dispatch. Poklicati jo in posredovati objekt z akcijo - to je edini način, da spremenimo stanje. Kot rezultat bo shramba zagnala funkcijo-reduktor in shranila pri sebi novo vrednost stanja.
In zadnji pojem, ki ga bomo obravnavali v tej lekciji - to so selektorji. Selektorji so posebne funkcije, ki vedo, kako izluščiti informacije iz stanja, ki se nahaja v shrambi. Te funkcije so še posebej uporabne pri širjenju aplikacije in pomagajo preprečiti ponavljanje kode.
Podrobneje o vseh teh pojmih in o uporabi v praksi bomo izvedeli iz naslednjih poglavij tega učbenika.