Selektorid ja useSelector hook Reduxis
Eelmistel tundidel salvestasime poe toodete andmed. Kuidas me neid poest kätte saame?
Selleks, et seda teha, peame kirjutama selektorifunktsiooni. See funktsioon teab, kuidas eraldada kindlat tüki informatsiooni poes hoitavast olekuväärtusest ja aitab vältida korduva koodi kirjutamist rakenduse kasvades. Sisendina võtab see funktsioon state'i ja väljundina annab vajaliku olekulõigu. Näiteks nii:
const selectValue = state => state.some.value
Õpiku alguses mainiti,
et poel on meetod getState. Ja me
võiksime seda kergesti kasutada
oleku väärtuse saamiseks:
const value = selectValue(store.getState())
Probleem on selles, et meie React
komponendid ei saa otse pöörduda
poe poole, kuna seda on keelatud importida
komponendi faili. Kuid meil on võimalus
saada andmeid komponenti kasutades
React-Redux hooki useSelector. Pealegi,
selle hookiga saavad meie komponendid alati ainult
ajakohaseid andmeid:
const count = useSelector(selectValue)