⊗jsrtPmRtAD 32 of 47 menu

Pridávanie dát do React Router

V predchádzajúcich lekciách sme pripravili loader a odstránenie dát pre konkrétnu trasu z úložiska. Poďme sa teraz zoznámiť na príklade našej aplikácie ako pridať nový produkt a zapísať jeho dáta do úložiska.

Otvorme súbor root.jsx a pridajme do layoutu tlačidlo na pridanie nového produktu pred nav, zabalením do form tagu. Tiež teraz zabalíme tlačidlo a náš zoznam do ďalšieho divu s #menu. Layout bude teraz vyzerať takto:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">add product</button> </form> {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> <div id="product"> <Outlet /> </div> </div> );

Ak teraz pôjdeme na kartu 'Sieť' vývojárskej konzoly a potom stlačíme naše tlačidlo, uvidíme chybnú požiadavku dokumentu na server. S použitím React Router opäť využijeme smerovanie na strane klienta, čím sa vyhneme požiadavke na server.

Poďme na to zmeniť tag form na komponent Form React Router. Pridajme na začiatok import Form:

import { Form } from 'react-router-dom';

Teraz nahraďme tagy form v kúsku kódu:

<Form method="post"> <button type="submit">add product</button> </Form>

Obnovte našu aplikáciu a pozrite sa znova na vývojársku konzolu. Stlačme tlačidlo pridania produktu - teraz už žiadna požiadavka na server nie je (na chybu zatiaľ neberte ohľad).

Vezmite aplikáciu, ktorú ste vytvorili v úlohách k predchádzajúcim lekciám. Použitím materiálov lekcie opravte layout funkcie Root, pridajte tlačidlo na pridanie študenta v tagu form. Uistite sa, že pri stlačení tlačidla dochádza k požiadavke na server.

A teraz nahraďte tag form, komponentom Form. Uistite sa, že pri stlačení na tlačidlo pridania študenta sa požiadavka na server neodosiela.

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ť