Oppdatering av data via URL-parametre i lagring i React Router

I forrige leksjon la vi til enda en rute og en side med et skjema for redigering av data. Det som gjenstår for oss er å lagre dataene som er lagt inn i skjemaet vårt.

Til å begynne med legger vi til en funksjon for oppdatering av produktdata updateProduct i forStorage.js. Vi må sende inn id til produktet og de endrede dataene:

forStorage.jsexport async function updateProduct(id, updates) {
  await someNetwork();
}

Deretter henter vi produktene fra lagring under nøkkelen 'products' og finner den vi endrer via dens id. Ved feil kaster vi en feil:

forStorage.jsexport 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);        
}

Deretter gjenstår det for oss å gjøre endringer i det funnet produktet og overskrive den oppdaterte listen i lagring ved hjelp av vår funksjon setProducts:

forStorage.jsexport 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;
}
Задание 1

Ta applikasjonen du opprettet i oppgavene til de foregående leksjonene. Bruk materialet fra leksjonen og legg til i filen forStorage.js funksjonen updateStudent for oppdatering av studentdata i lagring.