Redux tətbiqi və server arasında məlumat mübadiləsi
Bu bölmə Redux-da əldə etdiklərində dayanmayaraq bu dərsliyin sonuna çatmaq qərarına gələn təcrübəli şagirdlər üçün olacaq. Növbəti iki bölmədə biz Redux tətbiqinin asinxron məntiqlə işini nəzərdən keçirəcəyik, tətbiqimizi server tərəfi ilə əlaqələndirəcəyik və onun serverlə məlumat mübadiləsi etməyini öyrədəcəyik.
Əvvəlki bölmələrdən biz bilirik ki, Redux
tətbiqinin işinin əsasında sinxron mexanizm
durur. Əsas iş mərhələləri tətbiqdə hansısa
hadisə baş verəndə aksiyaların göndərilməsindən,
sonra store-də state-in reducer funksiyası
tərəfindən yenilənməsindən, tətbiqin komponentlərinin
state-in dəyişməsindən xəbərdar edilməsindən və
müvafiq olaraq yeni state dəyərinin komponentlərdə
göstərilməsindən ibarətdir.
Real həyatda tez-tez olur ki, tətbiqin asinxron
məntiqə də ehtiyacı olur, məsələn, HTTP API
sorğuları ilə işləyərkən və hansısa xarici
serverdən məlumat alarkən. Buna görə də, bizim
'sinxron' Redux store-umuzun belə asinxron
məntiqlə işləyə bilməsi üçün, sözdə middleware
istifadə olunur - bu, tətbiqimizin store-u ilə,
məsələn, bu dərslik fəslinində işləməyə başlayacağımız
server arasında vasitəçi və ya əlaqə olan proqram
təminatıdır.
Redux üçün çoxlu belə middleware yaradılıb,
lakin onların arasında ən geniş yayılmış və
Redux tətbiqlərinin asinxron məntiqlə işində
rəsmi tövsiyə olunan hələ də
Redux Thunk
qalır. Bu proqram təminatı bizə store-umuzla
qarşılıqlı əlaqə üçün setTimeout, Promises,
async/await kimi asinxron məntiqi özündə
ehtiva edə bilən adi funksiyaları (və ya thunk-ları)
istifadə etməyə kömək edir. Terminin özünə gəldikdə,
thunk - bu, hansısa gecikdirilmiş işi
görən koddur.
İndi, biz Redux-da asinxron məntiqlə işləməyi bir az tanış olduğumuz üçün, bu mərhələni tətbiqimizdə həyata keçirməyə başlaya bilərik. Biz elə etməliyik ki, tətbiqimiz hansısa xarici serverlə qarşılıqlı əlaqədə ola bilsin, ondan məlumat ala bilsin və ona məlumat ötürə bilsin. Başqa sözlə, qarşımızda maraqlı və çox vacib mövzu bizi gözləyir. Başlayaq.