⊗jsrtPmRtAD 32 of 47 menu

Datu pievienošana React Router

Iepriekšējās nodarbībās mēs sagatavojām ielādi un datu izgūšanu pa noteiktu maršrutu no krātuves. Tagad iepazīsimies ar mūsu lietotnes piemēru, kā pievienot jaunu produktu un ierakstīt tā datus krātuvē.

Atvērsim failu root.jsx un pievienosim izkārtojumā pogu jauna produkta pievienošanai pirms nav, ietverot to formāta tagā. Tāpat ietversim tagad pogu un mūsu sarakstu vēl vienā div ar #menu. Izkārtojums tagad būs izskatās šādi:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">pievienot produktu</button> </form> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Nenosaukts</i>} </Link> ))} </nav> ) : ( <p> <i>šeit nav produktu ...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Ja mēs tagad ejam uz cilni 'Tīkls' izstrādātāju panelī un pēc tam nospiežam uz mūsu pogas, mēs redzēsim kļūdains pieprasījums dokumentam uz serveri. Izmantojot React Router mēs atkal izmantosim maršrutēšanu klienta pusē, izslēdzot pieprasījumu uz serveri.

Lai to izdarītu, mainīsim tagu form uz komponentu Form React Router. Pievienosim sākumā importu Form:

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

Tagad aizstājiet tagus form koda fragmentā:

<Form method="post"> <button type="submit">pievienot produktu</button> </Form>

Pārlādējiet mūsu lietotni un vēlreiz apskatiet izstrādātāja paneli. Nospiediet produkta pievienošanas pogu - tagad pieprasījuma uz serveri vairs nav (uz kļūdu pagaidām nepievērsiet uzmanību).

Paņemiet lietotni, ko izveidojāt uzdevumos iepriekšējām nodarbībām. Izmantojot nodarbības materiālus, labojiet funkcijas Root izkārtojumu, pievienojiet pogu studenta pievienošanai tagā form. Pārliecinieties, ka nospiežot pogu tiek veikts pieprasījums uz serveri.

Un tagad aizstājiet tagu form ar komponentu Form. Pārliecinieties, ka nospiežot uz studenta pievienošanas pogas pieprasījums uz serveri netiek nosūtīts.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt