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:

jsxconst 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:

jsxconst 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:

jsxconst count = useSelector(selectValue)