Selektoriai ir useSelector hook'as Redux

Ankstesnėse pamokose mes įrašėme į store produktų duomenis. Kaip mums juos gauti iš store?

Kad tai padarytume, mums reikia parašyti selektoriaus funkciją. Ši funkcija žino, kaip ištraukti tam tikrą informacijos dalį iš store saugomos būsenos reikšmės ir padeda išvengti pasikartojančio kodo rašymo, kai aplikacija auga. Įėjime ši funkcija priima state, o išėjime pateikia reikiamą būsenos dalį. Pavyzdžiui taip:

jsxconst selectValue = state => state.some.value

Pačioje vadovėlio pradžioje buvo minima, kad store turi metodą getState. Ir mes galėtume juo lengvai pasinaudoti būsenos reikšmei gauti:

jsxconst value = selectValue(store.getState())

Problema ta, kad mūsų React komponentai negali tiesiogiai kreiptis į store, nes draudžiama jį importuoti į komponento failą. Bet mes turime galimybę gauti duomenis komponente naudojant React-Redux hook'ą useSelector. Be to, su šiuo hook'u mūsų komponentai visada gaus tik aktualius duomenis:

jsxconst count = useSelector(selectValue)