Selektori un useSelector āķis Redux
Iepriekšējās nodarbībās mēs ierakstījām produktu datus store. Kā mēs tos varam iegūt no store?
Lai to izdarītu, mums ir jāuzraksta selektora funkcija. Šī funkcija zina, kā iegūt noteiktu informācijas daļu no stāvokļa vērtības, kas glabājas store, un palīdz izvairīties no atkārtojoša koda rakstīšanas pielikuma izaugot. Tā kā ievadi saņem state, un kā izvadi izdod nepieciešamo stāvokļa daļu. Piemēram šādi:
const selectValue = state => state.some.value
Pašā mācību grāmatas sākumā tika minēts, ka
store ir metode getState. Un mēs
varētu to viegli izmantot, lai
iegūtu stāvokļa vērtību:
const value = selectValue(store.getState())
Problēma ir tā, ka mūsu React
komponenti nevar tieši piekļūt
store, jo to ir aizliegts importēt
komponenta failā. Bet mums ir iespēja
iegūt datus komponentā, izmantojot
React-Redux āķi useSelector. Turklāt,
ar šo āķi mūsu komponenti vienmēr saņems
tikai aktuālos datus:
const count = useSelector(selectValue)