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:

jsxconst 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:

jsxconst 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:

jsxconst count = useSelector(selectValue)