Reduxi põhiterminid
Selles õppetükis käsitleme lühidalt põhimõisteid ja termineid, mille tundmine on vajalik Reduxi edasisel õppimisel.
Alustame toimingust (action).
See on mingi sündmus, mis
kirjeldab seda, mis meie
rakenduses juhtus. Tehniliselt on see tavaline
JavaScripti objekt,
mis sisaldab välja type, kuhu kirjutame
toimingu nime.
Teine oluline välja toiminguobjektis
on väli payload.
See sisaldab toimingu kasulikku koormust
(kasulikke andmeid).
Kasuliku koormuse all mõistetakse
mingeid andmeid, mis edastatakse
toimingu parameetritena.
Samuti võivad selles objektis olla ka muud väljad lisateabega.
Loome näiteks toimingu
ja paneme sellele nimeks addOrderAction. Olgu
see vastutav tellimuse lisamise eest.
Siis omaduses type märgime, et
tellimus on lisatud (orderAdded) tellimuste
hulka (orders). Ja payload-is märgime täpsemalt,
mis tellimus on, näiteks - seina värvimine:
const addOrderAction = {
type: 'orders/orderAdded',
payload: 'Paint a wall'
}
Et mitte iga kord käsitsi kirjutada
toiminguobjekti, võime kasutada
niinimetatud action creator - funktsiooni,
mis loob ja tagastab
meile toiminguobjekti. Nimetame selle
addOrder. Parameetrina edastame
sellele vajaliku teksti
omaduseks payload:
const addOrder = text => {
return {
type: 'orders/orderAdded',
payload: text
}
}
Järgmine oluline mõiste ahelas on reducer (redutseerija) - funktsioon, mis võtab vastu praeguse oleku ja toimingu objekti. See funktsioon otsustab, kuidas uuendada olekut ja tagastab vajadusel juba uuendatud oleku.
Järgmine mõiste - hoidla (store) - see on objekt, kus hoitakse Reduxi rakenduse praegust globaalset olekut. Sellel objektil on meetod getState, mille abil saab praegust oleku väärtust kätte.
Hoidlal on ka meetod dispatch. Selle väljakutsumine ja toiminguobjekti edastamine on ainus viis oleku muutmiseks. Selle tulemusena käivitab hoidla redutseerija funktsiooni ja salvestab endale uue oleku väärtuse.
Ja viimane mõiste, mida me selles õppetükis vaatame - on selektorid. Selektorid on spetsiaalsed funktsioonid, mis teavad, kuidas informatsiooni hoidlast välja võtta. Need funktsioonid osutuvad eriti kasulikuks rakenduse kasvamisel ja aitavad vältida koodi kordamist.
Täpsemalt kõigist neist mõistetest ja nende praktilisest rakendamisest saame teada järgnevatest selle õpiku peatükkidest.