⊗jsrtPmRtULD 31 of 47 menu

Používanie údajov získaných loaderom v React Router

V predchádzajúcej lekcii sme získali údaje z úložiska pomocou loader. Aby sme mohli tieto údaje použiť, použijeme hook useLoaderData. Otvorme súbor root.jsx a pridajme hook do importu:

import { Outlet, Link, useLoaderData } from 'react-router-dom';

Vo funkcii Root budeme teraz získavať údaje do konštanty products a pracovať už s ňou. Ak máme nejaké produkty, zoznam sa zobrazí, ak nie, vypíšeme do odseku 'no products here ...'. V tagu nav teraz používame štandardný cyklus na výpis získaných produktov. Každý prvok bude obalený v komponent Link a adresa bude každý svoj (o tom si povieme neskôr). Ak teda produkt nemá názov, vypíše sa 'Unnamed' ako predvolený. Takže, berúc do úvahy vyššie uvedené, teraz bude náš kód pre funkciu Root takýto:

function Root() { const { products } = useLoaderData(); return ( <div id="main"> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Unnamed</i>} </Link> ))} </nav> ) : ( <p><i>no products here ...</i></p> )} <div id="product"> <Outlet /> </div> </div> ); }

Ak teraz reštartujeme aplikáciu a prejdeme na domovskú stránku, uvidíme iba 'no products here ...', pretože žiadne produkty do úložiska sme zatiaľ nepridali.

Vezmite aplikáciu, ktorú ste vytvorili v úlohách k predchádzajúcim lekciám. Použite materiály z lekcie a pridajte zobrazenie údajov o študentoch získaných z loadera, ako je popísané v lekcii.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť