Redux қолданбасы мен сервер арасындағы деректер алмасу
Бұл бөлім Redux-та қол жеткізгендерін тоқтатпай, осы оқулықтың соңына дейін жетуге шешкен талантты оқушылар үшін болады. Келесі екі бөлімде біз Redux қолданбасының асинхронды логикамен жұмысын қарастырамыз, қолданбамызды серверлік бөліммен байланыстырамыз және олардың бір-бірімен деректер алмасуын үйретеміз.
Алдыңғы бөлімдерден біз Redux қолданбасының жұмысының негізінде синхронды механизм жатқанын білеміз. Жұмыстың негізгі кезеңдері қолданбада бірдің бір оқиға болған кезде экшендерді жіберуден, содан кейін store-дағы стейтті функция-редьюсер арқылы жаңартудан, қолданба компоненттеріне стейттің өзгергені туралы хабарлаудан және сәйкесінше компоненттердегі жаңа стейт мәнін көрсетуден тұрады.
Шынайы өмірде жиі қолданбаға асинхронды логика қажет
болады, мысалы HTTP API сұрауларымен жұмыс істегенде
және қандай да бір сыртқы серверден деректер алу кезінде.
Сондықтан біздің 'синхронды' Redux store-ымыз
мұндай асинхронды логикамен жұмыс істеуі үшін, сөз
болып отырған middlware - бұл біздің қолданбамыздың
store-ы мен, мысалы, осы оқулықтың бабында жұмысты
бастайтын сервер арасындағы тілші немесе байланыс
ретіндегі бағдарламалық жасақтама.
Redux үшін мұндай көптеген middleware жасалған,
алайда олардың ішінде ең кең таралғаны және Redux
қолданбаларының асинхронды логикамен жұмыс істеуінде
ресми түрде әлі де ұсынылып отыратыны
Redux Thunk болып қала береді.
Бұл бағдарламалық жасақтама бізге қарапайым
функцияларды (немесе thunks-тарды) қолдануға көмектеседі,
олар өз ішінде setTimeout, Promises, async/await
сияқты store-ымызбен өзара әрекеттесу үшін қажет
асинхронды логиканы қамтуы мүмкін. Терминдің өзіне
келетін болсақ, thunk - бұл кейбір кейінге
қалдырылған жұмысты орындайтын код.
Енді біз Redux-та асинхронды логикамен қалай жұмыс істеу керектігімен аздап танысқан соң, бұл кезеңді қолданбамызда іске асыруға кірісе аламыз. Біз қолданбамыздың қандай да бір сыртқы сервермен өзара әрекеттесе алуын, одан деректер қабылдап, оған деректер жібере алуын жасауымыз керек. Басқаша айтқанда, бізді алда қызықты және өте маңызды тақырып күтіп тұр. Бастайық.