Selektorlar va useSelector hooki Reduxda
Oldingi darslarda biz storega mahsulotlar ma'lumotlarini yozdik. Ularni storedan qanday olishimiz kerak?
Buning uchun biz funksiya-selektor yozishimiz kerak. Bu funksiya storeda saqlanayotgan holat qiymatidan ma'lum bir ma'lumot bo'lagini qanday ajratib olishni biladi va ilova kengayib borayotganda takrorlanuvchi kod yozishdan qochishga yordam beradi. Kirishda bu funksiya state ni qabul qiladi, chiqishda esa kerakli holat qismini beradi. Masalan shunday:
const selectValue = state => state.some.value
Darslikning boshida store metodining getState
borligi aytib o'tilgan edi. Va biz
holat qiymatini olish uchun undan osongina
foydalanishimiz mumkin edi:
const value = selectValue(store.getState())
Muammo shundaki, bizning React
komponentlarimiz storedan to'g'ridan-to'g'ri foydalana olmaydi,
chunki uni komponent fayliga import qilish taqiqlangan.
Ammo biz komponentda ma'lumotlarni olish imkoniyatiga egamiz
React-Redux ning useSelector hooki yordamida. Bundan tashqari,
ushbu hook bilan bizning komponentlarimiz har doim
faqat dolzarb ma'lumotlarni oladi:
const count = useSelector(selectValue)