Selectorer og useSelector-hooken i Redux
I de foregående leksjonene lagret vi produktdata i storen. Hvordan henter vi dem fra storen?
For å gjøre dette må vi skrive en selector-funksjon. Denne funksjonen vet hvordan man henter en spesifikk del av informasjonen fra state-verdien som er lagret i storen og hjelper til med å unngå å skrive gjentakende kode når applikasjonen vokser. Som input tar denne funksjonen state, og som output gir den den nødvendige state-slicen. For eksempel slik:
const selectValue = state => state.some.value
I begynnelsen av læreboka ble det nevnt
at storen har en metode kalt getState. Og vi
kunde lett ha brukt den til å
få state-verdien:
const value = selectValue(store.getState())
Problemet er at våre React
komponenter ikke kan få tilgang til
storen direkte, fordi det er forbudt å importere den
inn i komponentfiler. Men vi har muligheten
til å hente data i komponentet ved hjelp av
React-Redux-hooken useSelector. Dessuten,
med denne hooken vil komponentene våre alltid motta
kun oppdaterte data:
const count = useSelector(selectValue)