Szelektorok és az useSelector hook a Redux-ban
A korábbi leckékben eltároltuk a termékek adatait a store-ban. Hogyan tudjuk őket lekérni a store-ból?
Ahhoz, hogy ezt megtehessük, írnunk kell egy szelektor függvényt. Ez a függvény tudja, hogyan nyerjen ki egy adott információdarabot a store-ban tárolt állapot értékéből, és segít elkerülni az ismétlődő kód írását az alkalmazás növekedése során. A bemenetén ez a függvény az állapotot (state) fogadja, a kimenetén pedig kiadja az állapot szükséges szeletét. Például így:
const selectValue = state => state.some.value
A tutorial legelső részében említésre került,
hogy a store-nak van egy getState metódusa. És mi
könnyedén használhatnánk azt
az állapot értékének lekéréséhez:
const value = selectValue(store.getState())
A probléma az, hogy a React
komponenseink nem férhetnek hozzá közvetlenül a
store-hoz, mivel tilos azt importálni
a komponens fájlba. De van lehetőségünk
adatok lekérésére a komponensben a
React-Redux useSelector hook segítségével. Ráadásul,
ezzel a hook-kal a komponenseink mindig naprakész adatokat kapnak:
const count = useSelector(selectValue)