Vytvoříme jednoduchý web s několika stránkami zobrazující inzeráty na nemovitosti.
- Na adrese https://apps.kodim.cz/daweb/trening-api/apis/realitka/dum01 najdete API endpoint, který vrací informace o jedné nemovitosti ke koupi. Prohlédněte si dobře strukturu dat, která API vrací.
- V celku existují čtyři takové inzeráty, vždy končící
dum01,dum02,dum03adum04. Vyzkoušejte si, jak vypadají data pro všechny čtyři inzeráty. - Založte si nový Vite/JSX projekt pomocí
npm init kodim-app@latest cviceni-realitka jsx. - Aplikace bude obsahovat celkem čtyři stránky – jednu pro každý inzerát, které budou sdílet stejný JavaScriptový soubor. Ve složce
pagestedy založte čtyři souborydum01.html,dum02.html,dum03.htmladum04.htmla vložte do nich tentýž souborindex.jsx. Soubory budou mít všechny jeden hlavní elementdivs idrootjak jsme zvyklí. - V této aplikaci nebudeme mít žádny
index.html, takže všechny naše stránky budou na adresehttp://localhost:3000/dum01.htmlatd. - Ve složce
src/componentsvytvořte komponentuHeader, která bude představovat hlavičku stránky s navigací. Hlavičku nastylujte a přidejte do ní odkazy na všechny čtyři stránky. Vložte hlavičku do obsahu stránky pomocí JSX v souboruindex.jsx. - V tuto chvíli si vyzkoušejte, že vše funguje a že se všechny stránky zobrazují s hlavičkou a jde mezi nimi přepínat pomocí navigace.
- Nyní bude potřeba si v JavaScriptu stáhnout data z toho inzerátu, na jaké stránce se zrovna nacházíme. V souboru
index.jsxsi pomocíwindow.location.pathnamezjistěte, na jaké stránce zrovna uživatel je. Na základě toho sestavte správnou adresu profetcha stáhněte si data inzerátu z API. Výsledek si zatím pro kontrolu vypište do konzole. - Místo vypisování do konzole zobrazte inzerát na stránce.
- Nakonec vytvořte komponentu
Estatea přesuňte do ní kód zobrazující jeden inzerát. Sami rozhodněte, jaké přesněpropsbude komponenta potřebovat. Komponentu pak použijte ve funkcirenderv souboruindex.jsx. - Nyní byste měli mít hotovou aplikaci, která zobrazuje inzeráty na nemovitosti a v hlavičce stránky je navigace, pomocí které se dá přepínat mezi jednotlivými nabídkami.