⊗jsrtPmRtUfD 40 of 47 menu

Aktualizácia údajov pomocou FormData v React Router

Máme funkciu updateProduct na aktualizáciu údajov produktu v úložisku. Teraz prejdime k údajom z našej editačného formulára.

Pri odosielaní HTML formulára prehliadač vytvorí objekt FormData s údajmi a odošle ho v tele požiadavky na server. Navyše, hodnota každého vstupného poľa je extrahovaná do objektu z atribútu name (preto sme ich potrebovali vo formulári, pamätáte?). My teraz vieme, že React Router odosiela požiadavky nie na server, ale do metódy action nášho smerovania, preto tam príde aj FormData. Poďme s tým pracovať.

Na začiatok otvorme náš súbor edit.jsx a importujme updateProduct:

import { updateProduct } from '../forStorage';

Potom napíšeme funkciu pre action objektu smerovania, ako sme to robili predtým. Pridajme ju hneď po funkcii loader. Budeme jej odovzdávať našu request a URL parametre:

export async function action({ request, params }) {}

Z požiadavky získame FormData, potom extrahujeme z neho údaje vo forme objektu, obsahujúceho páry kľúč: hodnota a pomocou updateProduct odošleme tieto údaje do úložiska:

export async function action({ request, params }) { const formData = await request.formData(); const updates = Object.fromEntries(formData); await updateProduct(params.productId, updates); return 1; }

Ostal už len zájsť do main.jsx a pridať funkciu action do objektu smerovania editácie. Importujme action:

import EditProduct, { loader as editProductLoader, action as editAction, } from './routes/edit';

A pridajme ho do objektu smerovania editácie:

{ path: 'products/:productId/edit', element: <EditProduct />, loader: editProductLoader, action: editAction, },

Spustite teraz aplikáciu, pridajte pár produktov do zoznamu, potom kliknutím na nich vypĺňajte formulár a stláčajte tlačidlo uloženia. Nezabudnite ísť do panela vývojára v časti localforage a obnoviť úložisko. Teraz v časti keyvaluespairs môžeme vidieť objekty v poli products s našimi zadanými údajmi.

Vezmite aplikáciu, ktorú ste vytvorili v úlohách k minulej lekcii. Používajúc materiály lekcie, vytvorte funkciu action pre smerovanie editácie údajov študenta, pridajte ju do objektu smerovania editácie. Otvorte panel vývojára a presvedčte sa, že pri zmenách aktualizované údaje sa naozaj zobrazia na karte localforage.

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ť