Adatcsere a Redux alkalmazás és a szerver között
Ez a rész azoknak a jártas tanulóknak szól, akik nem álltak meg a Redux-ban elért eredményeiknél, és úgy döntöttek, hogy eljutnak az oktatóanyag végéig. A következő két részben érinteni fogjuk a Redux alkalmazás aszinkron logikával való munkáját, összekapcsoljuk alkalmazásunkat a szerver oldallal és megtanítjuk neki az adatcserét vele.
A korábbi részekből tudjuk, hogy a Redux alkalmazás működése szinkron mechanizmuson alapul. A munka fő szakaszai a következők: akciók küldése valamilyen esemény bekövetkeztekor az alkalmazásban, majd a store állapotának frissítése a reducer függvény által, az alkalmazás komponenseinek értesítése az állapot megváltozásáról, és ennek megfelelően az új állapotérték megjelenítése a komponensekben.
A való életben gyakran előfordul, hogy az alkalmazásnak
aszinkron logikára is szüksége van, például amikor
HTTP API kérésekkel dolgozik és adatokat kap
valamilyen külső szervertől. Ezért ahhoz,
hogy a mi 'szinkron' Redux store-unk képes legyen dolgozni
egy ilyen aszinkron logikával, úgynevezett
middleware-t használunk - olyan szoftvert,
amely közvetítő vagy kapocs a
alkalmazásunk store-ja és, például, a
szerver között, amellyel ebben a
fejezetben kezdünk dolgozni.
A Redux-hoz számos ilyen middleware készült,
ám a legelterjedtebb közülük
és a hivatalosan ajánlott a Redux
alkalmazások aszinkron logikával való munkája során továbbra is
az Redux Thunk.
Ez a szoftver segít nekünak közönséges
függvényeket (vagy thunk-okat) használni, amelyek tartalmazhatnak
aszinkron logikát, mint például
setTimeout, Promises, async/await,
a store-ral való interakcióhoz. Ami magát a
kifejezést illeti, a thunk olyan kód, amely
valamilyen késleltetett munkát végez.
Most, hogy kissé megismerkedtünk azzal, hogyan dolgozzunk a Redux-ban aszinkron logikával, kezdhetjük ennek a szakasznak a megvalósítását alkalmazásunkban. El kell érni, hogy alkalmazásunk képes legyen interakcióba lépni valamilyen külső szerverrel, adatokat fogadjon tőle és továbbítson neki. Más szavakkal, egy izgalmas és nagyon fontos téma vár ránk. Kezdjük.