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:
const 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:
const 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:
const count = useSelector(selectValue)