Posodabljanje podatkov prek URL parametrov v shrambi v React Router
V prejšnji lekciji smo dodali še eno pot in stran z obrazcem za urejanje podatkov. Ostalo nam je še shraniti podatke, vnesene v naš obrazec.
Za začetek dodajmo funkcijo za posodabljanje
podatkov produkta updateProduct v
forStorage.js. Potrebovali jo bomo
v njej id produkta in spremenjene
podatke:
export async function updateProduct(id, updates) {
await someNetwork();
}
Nato iz shrambe po ključu 'products'
dobimo produkte in poiščemo tistega, ki ga
spreminjamo po njegovem id. V primeru neuspeha
vržemo napako:
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);
}
Nato nam ostane še vnesti spremembe
v najdeni produkt in prepisati
posodobljen seznam v shrambo s pomočjo
naše funkcije 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;
}
Vzemite aplikacijo, ki ste jo ustvarili v
nalogah za prejšnje lekcije. Z uporabo
gradiva iz lekcije dodajte v datoteko
forStorage.js funkcijo
updateStudent za posodabljanje
podatkov študenta v shrambi.