⊗jsrtPmRtANR 26 of 47 menu

Přidání další trasy do React Router

Máme kořenovou trasu vedoucí na hlavní stránku, na které máme odkazy na produkty. Pojďme nyní přidat další trasu, aby při kliknutí na jeden z odkazů zobrazovala stránka produktu, a ne obrazovku s chybou.

Pro začátek otevřeme naši aplikaci, kterou jsme vytvářeli v předchozích lekcích a vytvořme ve složce routes soubor product.jsx. Vytvořme v něm komponentu Product:

function Product() {} export default Product;

Nyní vytvoříme uvnitř Product objekt product, s vlastnostmi name, cost a amount, prozatím to budou nějaké pevné hodnoty:

function Product() { const product = { name: 'Product', cost: 400, amount: 5, }; } export default Product;

A na stránce produktu budeme zobrazovat, odpovídajícím způsobem, jeho název, cenu a množství:

return ( <div> <h2>Stránka produktu</h2> <p>Název: {product.name}</p> <p>Cena: {product.cost}</p> <p>Množství: {product.amount}</p> </div> );

Nezapomeňme přidat import komponenty Product do souboru main.jsx:

import Product from './routes/product';

A konečně, přidejme další trasu do naší aplikace, udělejme to ihned po kořenové. Jako cestu uvedeme 'products/:productId', a jako element pro zobrazení u nás vystupuje komponenta Product:

{ path: '/', element: <Root />, errorElement: <ErrorPage404 />, }, { path: 'products/:productId', element: <Product />, },

A nyní spustíme aplikaci, klikneme na odkazy a ocitneme se na stránce s produktem (prozatím je u nás stejná pro všechny odkazy), a ne s chybou.

Vezměte aplikaci, kterou jste vytvořili v úkolech k předchozím lekcím. Použijte materiály lekce, vytvořte podobným způsobem soubor student.jsx, ať na stránce studenta je zobrazeno jeho jméno, příjmení, rok nástupu a obor. Přidejte novou trasu pro stránku studenta do souboru main.jsx, nastavte hodnotu path na 'students/:studentId'. Ujistěte se, že při kliknutí na odkaz se dostanete nyní na stránku studenta.

Č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