⊗jsrtPmRtUfD 40 of 47 menu

Posodabljanje podatkov s FormData v React Router

Imamo funkcijo updateProduct za posodabljanje podatkov izdelka v shrambi. Zdaj pa pojdimo k podatkom iz našega obrazca za urejanje.

Ko pošljemo HTML-obrazec, brskalnik ustvari objekt FormData s podatki in jih pošlje v telesu zahteve na strežnik. Poleg tega je vrednost vsakega vnosnega polja pridobljena v objekt iz atributa name (zato smo jih potrebovali v obrazcu, se spomnite?). Mi zdaj vemo, da React Router pošilja zahteve ne na strežnik, ampak v metodo action naše poti, v skladu s tem, tja pride tudi FormData. Delajmo s tem.

Za začetek odprimo našo datoteko edit.jsx in uvozimo updateProduct:

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

Nato bomo napisali funkcijo za action objekta poti, kot smo to počeli prej. Dodajmo jo takoj za funkcijo loader. Ji bomo posredovali naš request in URL parametre:

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

Iz zahteve bomo dobili FormData, nato bomo iz njega pridobili podatke v obliki objekta, ki vsebuje pare ključ: vrednost in s pomočjo updateProduct poslali te podatke v shrambo:

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

Ostane samo še, da gremo v main.jsx in dodamo funkcijo action v objekt poti za urejanje. Uvozimo action:

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

In ga dodajmo v objekt poti urejanja:

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

Zdaj zaženite aplikacijo, dodajte nekaj izdelkov na seznam, nato z klikom nanje izpolnite obrazec in pritisnite na gumb za shranjevanje. Ne pozabite iti v razvojno ploščo v razdelek localforage in osvežiti shrambe. Zdaj v razdelku keyvaluespairs lahko vidimo objekte v matriki products z našimi vnesenimi podatki.

Vzemite aplikacijo, ki ste jo ustvarili v nalogah za prejšnjo lekcijo. Z uporabo gradiva lekcije ustvarite funkcijo action za pot urejanja podatkov študenta, dodajte jo v objekt poti urejanja. Odprite razvojno ploščo in se prepričajte, da pri spremembah posodobljeni podatki resnično prikažejo na zavihtku 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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni