⊗jsrtPmRtAD 32 of 47 menu

Dodavanje podataka u React Router

Na prethodnim lekcijama smo pripremili loader i isporuku podataka za određenu rutu iz skladišta. Hajde sada da se upoznamo na primeru naše aplikacije kako da dodamo novi proizvod i zapišemo njegove podatke u skladište.

Otvorimo fajl root.jsx i dodajmo u layout dugme za dodavanje novog proizvoda ispred nav, umotavajući ga u form tag. Takođe ćemo sada umotati i dugme i naš spisak u još jedan div sa #menu. Layout će sada izgledati ovako:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">dodaj proizvod</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>nema proizvoda ovde ...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Ako sada odemo na karticu 'Mreža' pregledača, a zatim kliknemo na naše dugme, videćemo pogrešan zahtev dokumenta ka serveru. Pomoću React Router-a ponovo ćemo iskoristiti rutiranje na strani klijenta, isključujući zahtev ka serveru.

Hajde da za ovo promenimo tag form u komponentu Form React Router-a. Dodajmo za početak import Form:

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

Sada zamenimo tagove form u delu koda:

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

Ponovo učitajte našu aplikaciju i pogledajte ponovo pregledač. Kliknite na dugme za dodavanje proizvoda - sada zahteva ka serveru više nema (na grešku za sada nemojte obraćati pažnju).

Uzmite aplikaciju koju ste kreirali u zadacima za prethodne lekcije. Koristeći se materijalima lekcije, ispravite izgled funkcije Root, dodajte dugme za dodavanje studenta u tagu form. Uverite se da pri pritisku dugmeta dolazi do zahteva ka serveru.

A sada zamenite tag form, komponentom Form. Uverite se da pri pritisku na dugme za dodavanje studenta zahtev ka serveru ne biva poslat.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij