React Routerдө URL параметрлери боюнча маалыматтарды көзөмөлдөө жайгашмасында жаңыртуу
Өткөн сабакта биз дагы бир маршрутту жана маалыматтарды түзөтүү үчүн формасы бар баракчаны коштук. Биздин формага киргизилген маалыматтарды сактоо калды.
Башында, продукттун маалыматтарын жаңыртуу
үчүн updateProduct функциясын
forStorage.js файлына кошуубуз керек.
Биз ага продукттун id жана өзгөртүлгөн
маалыматтарды өткөрүп берүүбүз керек:
export async function updateProduct(id, updates) {
await someNetwork();
}
Андан кийин көзөмөлдөө жайгашмасынан 'products'
ачкычы менен продуктуларды алып, өзгөртүүдө
болгон продуктту анын id боюнча табабыз.
Ийгиликсиздик учурда ката таштайбыз:
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('Бул үчүн продукт табылган жок', id);
}
Андан кийин бизге табылган продуктко
өзгөртүүлөрдү киргизип, жаңыртылган
тизмени биздин 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('Бул үчүн продукт табылган жок', id);
Object.assign(product, updates);
await setProducts(products);
return product;
}
Өткөн сабактардын тапшырмаларында түзгөн
колдонмонузду алыңыз. Сабактын материалдарын
колдонуп, студенттин маалыматтарын көзөмөлдөө
жайгашмасында жаңыртуу үчүн updateStudent
функциясын forStorage.js файлына кошуңуз.