Galvenie termini Redux
Šajā nodarbībā mēs īsi apskatīsim pamatjēdzienus un terminus, kuru pārzināšana ir nepieciešama, turpinot apgūt Redux.
Sāksim ar darbību (action).
Tas ir noteikts notikums, kurš
apraksta to, kas ir noticis mūsu
lietotnē. Tehniski tas ir parasts
JavaScript objekts,
satur lauku type, kurā mēs ierakstām
darbības nosaukumu.
Otrs nozīmīgs lauks darbības objektā
ir lauks payload.
Tas saturēs noderīgo slodzi
darbībai. Ar noderīgo slodzi saprot
noteiktus datus, kas tiek nodoti
kā parametri darbībā.
Arī šajā objektā var būt citi lauki ar papildu informāciju.
Piemēram, izveidosim darbību
un nosauksim to par addOrderAction. Lai
tā atbild par pasūtījuma pievienošanu.
Tad īpašībā type mēs norādīsim, ka
pasūtījums pievienots (orderAdded) pasūtījumos
(orders). Un payload norādīsim sīkāk,
kāds pasūtījums, piemēram - nokrāsot
sienu:
const addOrderAction = {
type: 'orders/orderAdded',
payload: 'Nokrāsot sienu'
}
Lai katru reizi nerakstītu darbības
objektu ar roku, mēs varam izmantot
tā saukto action creator - funkciju,
kas izveidos un atgriezīs
mums darbības objektu. Nosauksim to
par addOrder. Parametrā mēs
padodam tai vajadzīgo tekstu
īpašībai payload:
const addOrder = text => {
return {
type: 'orders/orderAdded',
payload: text
}
}
Nākamais svarīgais jēdziens ķēdē ir reducer (reducētājs) - funkcija, kas paņem pašreizējo stāvokli un darbības objektu. Šī funkcija lemj, kā atjaunināt stāvokli un atgriež jau atjaunināto stāvokli, ja tas ir nepieciešams.
Nākamais jēdziens - glabātava (store) - tas ir objekts, kurā glabājas pašreizējais globālais Redux lietotnes stāvoklis. Šim objektam ir metode getState, ar kuras palīdzību var iegūt pašreizējo stāvokļa vērtību.
Glabātavai ir arī metode dispatch. To izsaukt un padot darbības objektu - tas ir vienīgais veids, kā mainīt stāvokli. Rezultātā glabātava palaidīs reducētāja funkciju un saglabās sev jauno stāvokļa vērtību.
Un pēdējais jēdziens, ko mēs apskatīsim šajā nodarbībā - tas ir selektori. Selektori - tie ir īpašas funkcijas, kuras zina, kā iegūt informāciju no stāvokļa, kas atrodas glabātavā. Šīs funkcijas izrādās īpaši noderīgas, kad lietotne palielinās, un palīdz izvairīties no koda atkārtošanas.
Sīkāk par visiem šiem jēdzieniem un to pielietošanu praksē mēs uzzināsim no nākamajām šī mācību grāmatas sadaļām.