⊗jsrtPmRtAD 32 of 47 menu

Duomenų pridėjimas React Router

Ankstesnėse pamokose mes paruošėme įkėlimo įrenginį ir iškrovėme duomenis pagal tam tikrą maršrutą iš saugyklos. Dabar susipažinkime su mūsų programos pavyzdžiu, kaip pridėti naują produktą ir įrašyti jo duomenis į saugyklą.

Atidarykime failą root.jsx ir pridėkime į maketą mygtuką naujo produkto pridėjimui prieš nav, apvyniojdami jį formos žyme. Taip pat apvyniokime dabar mygtuką ir mūsų sąrašą į dar vieną div su #menu. Maketas dabar atrodys taip:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">pridėti produktą</button> </form> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Be pavadinimo</i>} </Link> ))} </nav> ) : ( <p> <i>nėra produktų...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Jei dabar nueisime į skirtuką 'Tinklas' kūrėjo skydelyje, o tada paspausime mūsų mygtuką, pamatysime klaidingą užklausą dokumentui į serverį. Naudodami React Router mes vėl pasinaudosime maršruto nustatymu kliento pusėje, neįtraukdami užklausos į serverį.

Pakeiskime tam šią žymą form į komponentą Form React Router. Pridėkime pradžiai importą Form:

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

Dabar pakeiskime žymes form kodo gabaliuke:

<Form method="post"> <button type="submit">pridėti produktą</button> </Form>

Perkraukite mūsų programą ir vėl pažiūrėkite į kūrėjo skydelį. Paspauskite produkto pridėjimo mygtuką - dabar užklausos į serverį jau nėra (kol kas nekreipkite dėmesio į klaidą).

Paimkite programą, kurią sukūrėte užduotyse prie ankstesnių pamokų. Naudodamiesi pamokos medžiaga, pataisykite išdėstymą funkcijos Root, pridėkite mygtuką studento pridėjimui į žymą form. Įsitikinkite, kad paspaudus mygtuką įvyksta užklausa į serverį.

O dabar pakeiskite žymą form, į komponentą Form. Įsitikinkite, kad paspaudus mygtuką studento pridėjimui užklausos į serverį neišsiunčiama.

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