⊗jsrtPmRtUfD 40 of 47 menu

Tietojen päivittäminen FormDatan kanssa React Routerissa

Meillä on funktio updateProduct tuotetietojen päivittämiseen tallennustilassa. Nyt siirrymme lomakkeestamme saamiimme muokkausdataan.

Kun HTML-lomake lähetetään, selain luo FormData-objektin datalla ja lähettää sen pyynnön rungossa palvelimelle. Lisäksi, jokaisen syöttökentän arvo poimitaan objektiin name-attribuutista (minkä takia tarvitsimme ne lomakkeessa, muistatko?). Me nyt tiedämme, että React Router lähettää pyyntöjä palvelimelle, vaan reitin action -metodiin, jolloin sinne päätyy myös FormData. Työskentelemme tämän kanssa.

Aluksi avaamme tiedostomme edit.jsx ja tuomme updateProduct:

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

Sitten kirjoitamme funktion reitin objektin action -metodille, kuten teimme aiemmin. Lisäämme sen heti loader-funktion jälkeen. Sille välitämme request-pyynnön ja URL-parametrit:

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

Pyynnöstä saamme FormData, sitten poimimme siitä datan objektina, jossa on avain: arvo -parit ja updateProduct-funktiolla lähetämme nämä tiedot tallennustilaan:

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

Vielä on mentävä tiedostoon main.jsx ja lisättävä action-funktio muokkausreitin objektin. Tuomme action-funktion:

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

Ja lisäämme sen muokkausreitin objektiin:

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

Käynnistä nyt sovellus, lisää pari tuotetta listaan, sitten klikkaamalla niitä täytä lomake ja paina tallennuspainiketta. Älä unohda mennä kehittäjän paneeliin localforage-osaan ja päivittää tallennustilaa. Nyt keyvaluespairs-osiossa voimme nähdä objektit products-taulukossa lisäämillämme datalla.

Ota edellisen oppitunnin tehtävissä luomasi sovellus. Hyödyntämällä oppitunnin materiaaleja, luo action-funktio opiskelijatietojen muokkausreitille, lisää se muokkausreitin objektiin. Avaa kehittäjän paneeli ja varmista, että muutosten yhteydessä päivitetyt tiedot näkyvät todella localforage-välilehdellä.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää