Redux-daky saýlawçylar we useSelector hook
Öňki sapaklarda biz store-a önümler baradaky maglumatlary ýazdyk. Şondan soň olary store-dan nädip alyp bileris?
Muny etmek üçin, biz bir saýlawçy funksiýa ýazmaly. Bu funksiýa store-da saklanýan ýagdaý bahasyndan belli bir maglumat bölegini nädip çykarmalygy bilýär we programma ulalanda gaýtalanýan kody ýazmagyň öňüni alýar. Bu funksiýa girişde ýagdaýy (state) alýar, çykyşda bolsa gerekli ýagdaý bölegini (slice) berýär. Mysal üçin:
const selectValue = state => state.some.value
Okuw kitabynyň başynda, store-uň getState
atly metody bardygy ýatladylýardy. Biz ony
ýagdaý bahasyny almak üçin aňsatlyk bilen
ulanyp bilerdik:
const value = selectValue(store.getState())
Kynçylyk şonda ýatýar, biziniň React
komponentlerimiz store-a gönüden-göni
ýüz tutup bilmeýärler, sebäbi ony komponent
faýlyna import etmek gadagan. Ýöne bizde
React-Redux hook-y useSelector
ýardamy bilen komponentde maglumat almak
mümkinçiligi bar. Onuň üstüne, bu hook bilen
biziniň komponentlerimiz hemişe diňe aktual
maglumatlary alar:
const count = useSelector(selectValue)