@@ -446,7 +446,30 @@ setSearchText('cde')
446
446
447
447
---
448
448
449
- ## Shared State @kuba 30 mins
449
+ ## Získávání dat ze serveru
450
+
451
+ V běžném světě nemíváme v React aplikaci rovnou k dispozici data (například výsledky vyhledávání). Zpravidla
452
+ si tato data musíme stáhnout až na základě nějaké akce uživatele. K tomu se používá API, které běží někde na
453
+ serveru a má přístup například do databáze.
454
+
455
+ > API je zkratka pro Application Programming Interface a jedná se o rozhraní, díky kterému spolu mohou různé
456
+ > aplikace komunikovat mezi sebou. Ve webovém vývoji je asi nejčastější
457
+ > [ REST API] ( https://www.itnetwork.cz/programovani/nezarazene/stoparuv-pruvodce-rest-api ) , které umožňuje
458
+ > jednoduše vytvářet, číst, editovat nebo mazat (CRUD operace - Create, Read, Update, Delete) data na serveru
459
+ > pomocí HTTP volání.
460
+
461
+ V našem případě uživatel zadá do vstupního pole nějaký text a následně klikne na tlačítko hledat. V tu chvíli
462
+ chceme poslat dotaz společně s hledaným výrazem na server, ten z databáze vyfiltruje záznamy podle předaného
463
+ dotazu a pošle zpátky odpověd jen s relevantími výsledky.
464
+
465
+ Tyto akce jsou asynchronní - nějaký čas trvá, než se náž dotaz zpracuje a vrátí se s výsledky. V živatelském
466
+ rozhraní tak potřebujeme zpravidla:
467
+
468
+ - odeslat dotaz na server
469
+ - zobrazit indikaci načítání (loading)
470
+ - zachytit výsledky dotazu
471
+ - uložit výsledky do lokálního stavu a zobrazit je
472
+ - případně zobrazit chybu, pokud dotaz selže
450
473
451
474
---
452
475
0 commit comments