⊗jsrtPmRtUD 39 of 47 menu

Uppdatera data baserat på URL-parametrar i lagret i React Router

I förra lektionen lade vi till ytterligare en rutt och en sida med ett formulär för att redigera data. Det som återstår för oss är att spara de data som har angetts i vårt formulär.

Låt oss först lägga till en funktion för att uppdatera produktdata updateProduct i forStorage.js. Vi behöver skicka dess id och de ändrade data till den:

export async function updateProduct(id, updates) { await someNetwork(); }

Därefter hämtar vi produkterna från lagret med nyckeln 'products' och hittar den som vi ändrar via dess id. Om det misslyckas kastar vi ett fel:

export async function updateProduct(id, updates) { await someNetwork(); let products = await localforage.getItem('products'); let product = products.find((product) => product.id === id); if (!product) throw new Error('No product found for this', id); }

Sedan återstår det för oss att göra ändringar i den hittade produkten och skriva om den uppdaterade listan till lagret med hjälp av vår funktion setProducts:

export async function updateProduct(id, updates) { await someNetwork(); let products = await localforage.getItem('products'); let product = products.find((product) => product.id === id); if (!product) throw new Error('No product found for this', id); Object.assign(product, updates); await setProducts(products); return product; }

Ta applikationen du skapade i uppgifterna till de tidigare lektionerna. Använd lektionens material och lägg till i filen forStorage.js funktionen updateStudent för att uppdatera studentdata i lagret.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa