Տվյալների թարմացում URL պարամետրերով պահեստում React Router-ում
Նախորդ դասին մենք ավելացրեցինք ևս մեկ երթուղի և էջ ձևով տվյալների խմբագրման համար: Մեզ մնաց պահպանել մեր ձևի մեջ ներմուծված տվյալները:
Սկսելու համար ավելացնենք ֆունկցիա՝ թարմացնելու
արտադրանքի տվյալները 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('No product found for this', 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('No product found for this', id);
Object.assign(product, updates);
await setProducts(products);
return product;
}
Վերցրեք ձեր կողմից ստեղծված հավելվածը
նախորդ դասերին առաջադրանքներում: Օգտագործելով
դասի նյութերը, ավելացրեք
forStorage.js ֆայլում
updateStudent ֆունկցիան՝
ուսանողի տվյալները պահեստում թարմացնելու համար: