Навсозии маълумотҳо тавассути параметрҳои 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('Маҳсулот барои ин ID ёфт нашуд', 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 ёфт нашуд', id);
Object.assign(product, updates);
await setProducts(products);
return product;
}
Барномаеро, ки шумо дар вазифаҳои
дарсҳои гузашта сохтаед, гиред. Бо истифода аз
маводи дарс, ба файли
forStorage.js функсияи
updateStudent-ро барои навсозии
маълумоти донишҷӯ дар ҳофиза илова кунед.