React Router-daky sahypa parametrleri boýunça maglumatlary ammary täzelemek
Öňki sapakda biz başga bir marshrut we redaktirleme üçin forma bilen sahypa goşduk. Bizde formada girizilen maglumatlary saklamak galdy.
Başlangyç üçin, forStorage.js faýlynda önümi
düzetmek üçin updateProduct funksiýasyny goşalyň.
Ona önümiň id we üýtgedilen maglumatlary
ibermeli:
export async function updateProduct(id, updates) {
await someNetwork();
}
Indi ammar dan 'products' açar boýunça önümleri
alyp, üýtgedýän önümimizi id boýunça taparys.
Köp bolmadyk ýagdaýda ýalňyşlyk ýüz ýetireris:
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);
}
Soňra, tapylan önüme üýtgeşmeleri girizmeli we
setProducts funksiýamyz kömegi bilen täzelenen
sanawdy ammara ýazdymalydyrys:
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;
}
Öňki sapakdaky wezipelerde döreden programmanyňyzy
alyň. Sapak materiallaryny ulanyp, forStorage.js
faýlyna talybyň maglumatlaryny ammarda täzelemek üçin
updateStudent funksiýasyny goşuň.