Përditësimi i të dhënave sipas parametrave të URL në depozitë në React Router
Në mësimin e kaluar ne shtuam edhe një rrugëtim dhe një faqe me formë për redaktimin e të dhënave. Na mbetet të ruajmë të dhënat e futura në formën tonë.
Për fillim, le të shtojmë një funksion për përditësimin
e të dhënave të produktit updateProduct në
forStorage.js. Ne duhet të kalojmë
në të id e produktit dhe të dhënat
e ndryshuara:
export async function updateProduct(id, updates) {
await someNetwork();
}
Pastaj nga depozita me çelësin 'products'
do të marrim produktet dhe do të gjejmë atë
që po e ndryshojmë sipas id të tij. Në rast dështimi
do të hedhim një gabim:
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('Nuk u gjet produkt për këtë', id);
}
Pastaj na mbetet të bëjmë ndryshimet
në produktin e gjetur dhe të rishkruajmë
listën e përditësuar në depozitë me ndihmën
e funksionit tonë 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('Nuk u gjet produkt për këtë', id);
Object.assign(product, updates);
await setProducts(products);
return product;
}
Merrni aplikacionin e krijuar nga ju në
detyrat e mësimeve të kaluara. Duke përdorur
materialet e mësimit, shtoni në skedarin
forStorage.js funksionin
updateStudent për përditësimin
e të dhënave të studentit në depozitë.