React Router'da URL parametrlari orqali ma'lumotlarni saqlashda yangilash
O'tgan darsda biz yana bir marshrut va ma'lumotlarni tahrirlash uchun shakl qo'shdik. Bizga shaklda kiritilgan ma'lumotlarni saqlash qoldi.
Boshlash uchun, forStorage.js
faylida mahsulot ma'lumotlarini yangilash
uchun updateProduct funksiyasini
qo'shamiz. Unga mahsulotning id
si va o'zgartirilgan ma'lumotlarni
uzatishimiz kerak:
export async function updateProduct(id, updates) {
await someNetwork();
}
Keyin saqlashdan 'products' kaliti
orqali mahsulotlarni olamiz va id
si bo'yicha o'zgartirayotganimizni topamiz.
Muvaffaqiyatsizlik holatida xatolik
chiqaramiz:
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);
}
Keyin biz topilgan mahsulotga o'zgartirishlar
kiritishimiz va yangilangan ro'yxatni
setProducts funksiyasi yordamida
saqlashga qayta yozishimiz kerak:
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;
}
Oldingi darslar uchun topshiriqlarda
yaratgan ilovangizni oling. Dars
materiallaridan foydalanib, forStorage.js
fayliga saqlashdagi talaba ma'lumotlarini
yangilash uchun updateStudent
funksiyasini qo'shing.