Məlumatların URL parametrləri ilə saxlancda yenilənməsi React Router-də
Keçən dərsdə biz əlavə bir marşrut və redaktə forması olan səhifə əlavə etdik. Formada daxil etdiyimiz məlumatları saxlamaq qalır.
Əvvəlcə, məhsul məlumatlarını yeniləmək
üçün updateProduct funksiyasını
forStorage.js faylına əlavə edək.
Ona məhsulun id-sini və dəyişiklikləri
ötürməliyik:
export async function updateProduct(id, updates) {
await someNetwork();
}
Sonra, saxlancdan 'products' açarı
ilə məhsulları götürüb, id-sinə görə
dəyişdiyimizi tapacağıq. Uğursuz olduqda
xəta atacağıq:
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);
}
Sonra, tapılan məhsulda dəyişikliklər
etmək və setProducts funksiyamızla
yenilənmiş siyahını saxlanca yenidən yazmaq
qalır:
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;
}
Əvvəlki dərslərin tapşırıqlarında yaratdığınız
tətbiqi götürün. Dərs materiallarından istifadə
edərək, forStorage.js faylına saxlancdakı
tələbə məlumatlarını yeniləmək üçün
updateStudent funksiyasını əlavə edin.