⊗jsrtPmRtAD 32 of 47 menu

Dodajanje podatkov v React Router

V prejšnjih lekcijah smo pripravili nalagalnik in izločitev podatkov po določeni poti iz shrambe. Poglejmo si zdaj na primeru naše aplikacije, kako dodati nov produkt in zapisati njegove podatke v shrambo.

Odprimo datoteko root.jsx in dodajmo v postavitev gumb za dodajanje novega produkta pred nav, in ga ovijmo v oznako forme. Prav tako ovijmo zdaj gumb in naš seznam v še en div z #menu. Postavitev bo zdaj izgledala takole:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">dodaj produkt</button> </form> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Neimenovano</i>} </Link> ))} </nav> ) : ( <p> <i>tukaj ni produktov ...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Če zdaj gremo na zavihek 'Omrežje' razvojnega orodja in nato kliknemo na naš gumb, bomo videli napačno zahtevo dokumenta na strežnik. Z React Router bomo spet uporabili usmerjanje na strani odjemalca, s čimer izključimo zahtevo na strežnik.

Za to spremenimo oznako form v komponento Form React Routerja. Dodajmo za začetek uvoz Form:

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

Zdaj zamenjajmo oznake form v delčku kode:

<Form method="post"> <button type="submit">dodaj produkt</button> </Form>

Ponovno naložite našo aplikacijo in ponovno poglejte v razvojno orodje. Kliknimo gumb za dodajanje produkta - zdaj zahteve na strežnik ni (na napako za zdaj ne bodite pozorni).

Vzemite aplikacijo, ki ste jo ustvarili v nalogah za prejšnje lekcije. Z uporabo gradiva lekcije popravite postavitev funkcije Root, dodajte gumb za dodajanje študenta v oznako form. Prepričajte se, da ob pritisku gumba pride do zahteve na strežnik.

In zdaj zamenjajte oznako form, z komponento Form. Prepričajte se, da ob pritisku na gumb za dodajanje študenta zahteva na strežnik ni poslana.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni