Selektory a hook useSelector v Redux

Na predchádzajúcich lekciách sme uložili do store dáta produktov. Ako ich môžeme získať z store?

Aby sme to mohli urobiť, musíme napísať funkciu-selektor. Táto funkcia vie, ako extrahovať konkrétny kúsok informácií z hodnoty stavu uloženého v store a pomáha vyhnúť sa písaniu opakujúceho sa kódu pri raste aplikácie. Na vstupe táto funkcia prijíma state, a na výstupe vracia potrebný slice stavu. Napríklad takto:

jsxconst selectValue = state => state.some.value

Na úplnom začiatku učebnice sa spomínalo, že store má metódu getState. A my by sme ju mohli jednoducho použiť na získanie hodnoty stavu:

jsxconst value = selectValue(store.getState())

Problém je v tom, že naše React komponenty nemôžu priamo pristupovať k store, pretože je zakázané importovať ho do súboru komponenty. Ale máme možnosť získať dáta v komponente pomocou React-Redux hooku useSelector. Navyše, s týmto hookom naše komponenty budú vždy dostávať len aktuálne dáta:

jsxconst count = useSelector(selectValue)