Redux ilovasi va server o‘rtasida ma'lumot almashinuvi
Ushbu bo‘lim Reduxda erishgan natijalarida to‘xtamagan va ushbu o‘quv qo‘llanmasini oxirigacha tamomlashga qaror qilgan tajribali o‘quvchilar uchun mo‘ljallangan. Keyingi ikkita bo‘limda biz Redux ilovasining asinxron mantiq bilan ishlashini ko‘rib chiqamiz, ilovamizni server tomoni bilan bog‘laymiz va u bilan ma'lumot almashishni o‘rgatamiz.
Oldingi bo‘limlardan biz bilamizki, Redux ilovasining ishlash asosi sinxron mexanizmga asoslangan. Ishning asosiy bosqichlari: ilovada qandaydir hodis yuz berganda ekshenlar yuborish, keyin store dagi holatni reducer funksiyasi orqali yangilash, ilova komponentlariga holat o‘zgargani haqida xabar berish va mos ravishda komponentlarda yangi holat qiymatini ko‘rsatish.
Haqiqiy hayotda ko‘pincha ilova asinxron mantiqqa
muhtoj bo‘ladi, masalan, HTTP API so‘rovlari bilan
ishlashda va ma'lum bir tashqi serverdan ma'lumot
olishda. Shuning uchun bizning 'sinxron' Redux store
miz bunday asinxron mantiq bilan ishlashi uchun
middleware deb ataladigan dasturiy ta'minot
ishlatiladi - bu ilovamizning store i va, masalan,
ushbu o‘quv qo‘llanmasi bobida ishl boshlaydigan
server o‘rtasidagi vositachi yoki bog‘lovchi.
Redux uchun bunday middleware larning ko‘plab turlari
yaratilgan, ammo ular orasida eng keng tarqalgani
va Redux ilovalarining asinxron mantiq bilan ishlashida
hali ham rasmiy tavsiya etiladigan
Redux Thunk
hisoblanadi. Ushbu dasturiy ta'minot bizga store
bilan o‘zaro aloqada bo‘lish uchun ichida setTimeout,
Promises, async/await kabi asinxron mantiqni
o‘z ichiga olishi mumkin bo‘lgan oddiy funksiyalarni
(yoki thunk larni) ishlatishga yordam beradi. Terminning
o‘ziga kelsak, thunk - bu qandaydir kechiktirilgan
ishni bajaradigan koddir.
Endi biz Redux da asinxron mantiq bilan qanday ishlashimiz kerakligi bilan biroz tanishib chiqdik, shuning uchun ushbu bosqichni ilovamizda amalga oshirishni boshlashimiz mumkin. Biz ilovamizni ma'lum bir tashqi server bilan o‘zaro aloqada bo‘ladigan, undan ma'lumot oladigan va unga ma'lumot uzatadigan qilishimiz kerak. Boshqacha qilib aytganda, oldimizda hayajonli va juda muhim mavzu kutmoqda. Keling, boshlaymiz.