Kuongeza Data kwa Hifadhi kwenye React Router

Katika somo hili tutashughulikia kuongeza bidhaa kwenye hifadhi. Kwanza tunahitaji kitendo createProduct kwa kuunda bidhaa, tuongeze kwenye forStorage.js baada ya kitendo getProducts:

forStorage.jsexport async function createProduct() {}

Kwanza tena ongeza someNetwork:

forStorage.jsexport async function createProduct() {
  await someNetwork();
}

Lakini hapo baadaye tutahitaji kitambulisho cha kipekee kwa kila bidhaa, tayari umekutana na hili kwenye mafunzo ya React. Tutumie kwa hili maktaba nanoid. Weka kwenye terminal amri ifuatayo:

terminalnpm install --save nanoid

Lete kwenye forStorage.js maktaba:

forStorage.jsimport { nanoid } from 'nanoid'

Wacha tuwe na id kwa 6 herufi:

forStorage.jsexport async function createProduct() {
  await someNetwork();
  let id = nanoid(6);
}

Awali wakati wa kuunda bidhaa kwetu watakuwa kwenye kitu tu id. Itaje getProducts, ongeza bidhaa iliyotengenezwa na sasisha orodha ya bidhaa zetu kwenye hifadhi. Imekwisha:

forStorage.jsexport async function createProduct() {
  await someNetwork();
  let id = nanoid(6);
  let product = { id };
  let products = await getProducts();
  products.unshift(product);
  await setProducts(products);
  return product;
}

Kitendo cha kusasisha orodha kwenye hifadhi kitakuwa kifuatacho (tutaweka ndani yake bidhaa chini ya ufunguo products), tuweke baada ya kitendo createProduct:

forStorage.jsfunction setProducts(products) {
  return localforage.setItem('products', products);
}
Задание 1

Chukua programu, iliyoundwa na wewe katika kazi za masomo yaliyopita. Kwa kutumia nyenzo za somo, andika kwenye forStorage.js kitendo createStudent na setStudents kwa kuongeza data ya wanafunzi kwenye hifadhi.