Selectori și hook-ul useSelector în Redux
În lecțiile anterioare, am stocat în store datele despre produse. Cum le putem obține din store?
Pentru a face acest lucru, trebuie să scriem o funcție-selector. Această funcție știe cum să extragă o anumită bucată de informații din valoarea stării stocate în store și ajută la evitarea scrierii de cod repetat pe măsură ce aplicația crește. La intrare, această funcție primește state, iar la ieșire returnează porțiunea necesară a stării. De exemplu, așa:
const selectValue = state => state.some.value
La începutul acestui ghid, s-a menționat
că store are o metodă getState. Și
am putea foarte ușor să o folosim pentru a
obține valoarea stării:
const value = selectValue(store.getState())
Problema este că componentele noastre React
nu pot accesa direct
store, deoarece este interzis să îl importăm
în fișierul componentei. Dar avem posibilitatea
de a obține datele în componentă folosind
hook-ul React-Redux useSelector. În plus,
cu acest hook, componentele noastre vor primi întotdeauna
doar date actualizate:
const count = useSelector(selectValue)