⊗jsrxPmSDInr 34 of 57 menu

Výměna dat mezi Redux aplikací a serverem

Tato sekce bude pro zkušené studenty, kteří se nezastavili na dosaženém v Reduxu a rozhodli se dojít až na konec tohoto tutoriálu. V následujících dvou sekcích se dotkneme práce Redux aplikace s asynchronní logikou, propojíme naši aplikaci se serverovou částí a naučíme ji vyměňovat si s ní data.

Z předchozích sekcí víme, že základem práce Redux aplikace je synchronní mechanismus. Hlavní fáze práce spočívají v odesílání akcí při výskytu nějaké události v aplikaci, následné aktualizaci stavu v store funkcí-reducerem, upozornění komponent aplikace na změnu stavu a odpovídajícím zobrazení nové hodnoty stavu v komponentách.

V reálném životě často nastává situace, že aplikace potřebuje i asynchronní logiku, například při práci s HTTP API požadavky a získáváním dat z nějakého externího serveru. Proto aby náš 'synchronní' Redux store mohl pracovat s takovou asynchronní logikou, používá se tak zvané middlware - software, který je zprostředkovatelem nebo spojkou mezi store naší aplikace a, například, serverem, se kterým začneme pracovat v této kapitole tutoriálu.

Pro Redux bylo vytvořeno mnoho takových middleware, avšak nejrozšířenějším mezi nimi a oficiálně doporučovaným při práci Redux aplikací s asynchronní logikou zatím stále zůstává Redux Thunk. Tento software nám pomáhá používat obyčejné funkce (neboli thunky), které mohou obsahovat v sobě asynchronní logiku, jako je setTimeout, Promises, async/await, pro interakci s naším store. Co se týká samotného termínu, thunk - je to kód, který dělá nějakou odloženou práci.

Nyní, když jsme se trochu seznámili s tím, jak pracovat v Reduxu s asynchronní logikou, můžeme přistoupit k implementaci této fáze v naší aplikaci. Potřebujeme zařídit, aby naše aplikace mohla interagovat s nějakým externím serverem, přijímat od něj a předávat mu data. Jinými slovy, před námi čeká dobrodružné a velmi důležité téma. Začneme.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout