Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsrtPmRtULD 31 of 47 menu
◀ ▶

Duomenų, gautų įkėlimo įrankio, naudojimas React Router

Ankstesnėje pamokoje mes gavome duomenis iš saugyklos naudodami loader. Norėdami panaudoti šiuos duomenis, mes naudosime hook'ą useLoaderData. Atidarykime failą root.jsx ir pridėkime hook'ą į importą:

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

Funkcijoje Root mes dabar gausime duomenis į konstantą products ir dirbsime su ja. Jei mes turime kokius nors produktus, sąrašas bus atvaizduotas, jei ne, tada išvesime į pastraipą 'no products here ...'. Žymėje nav mes dabar naudojame standartinį ciklą gautiems produktams atvaizduoti. Kiekvienas elementas bus apvyniotas į komponentą Link ir adresas bus kiekvienam savas (apie tai pakalbėsime vėliau). Atitinkamai, jei produktas neturi pavadinimo, bus rodomas 'Unnamed' pagal numatytuosius nustatymus. Taigi, atsižvelgdami į tai, kas pasakyta, dabar mūsų kodas funkcijai Root bus toks:

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> ); }

Jei mes dabar paleisime aplikaciją iš naujo ir nueisime į pagrindinį puslapį, pamatysime tik 'no products here ...', kadangi jokių produktų į saugyklą mes kol kas dar neįdėjome.

Paimkite aplikaciją, kurią sukūrėte užduotyse prie ankstesnių pamokų. Naudodamiesi pamokos medžiaga, pridėkite rodymą gautų iš įkėlimo įrankio duomenų su studentais, kaip aprašyta pamokoje.

← →
↑
Lietuvių▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti