Ažuriranje podataka preko URL parametara u skladištu u React Router-u
U prethodnoj lekciji smo dodali još jednu rutu i stranicu sa formom za uređivanje podataka. Ostaje nam da sačuvamo podatke unete u naš formular.
Za početak, dodajmo funkciju za ažuriranje
podataka proizvoda updateProduct u
forStorage.js. Potrebno je da joj prosledimo
id proizvoda i izmenjene
podatke:
export async function updateProduct(id, updates) {
await someNetwork();
}
Zatim ćemo iz skladišta preko ključa 'products'
preuzeti proizvode i pronaći onaj koji
menjamo po njegovom id. U slučaju neuspeha
bacićemo grešku:
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('Nije pronađen proizvod za', id);
}
Zatim nam ostaje da unesemo izmene
u pronađeni proizvod i ponovo upišemo
ažuriranu listu u skladište pomoću
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('Nije pronađen proizvod za', id);
Object.assign(product, updates);
await setProducts(products);
return product;
}
Uzmite aplikaciju koju ste kreirali u
zadacima za prethodne lekcije. Koristeći se
materijalima lekcije, dodajte u fajl
forStorage.js funkciju
updateStudent za ažuriranje
podataka studenta u skladištu.