Andmete lisamine hoidlasse React Routeris

Selles õppetükis tegeleme toote lisamisega hoidlasse. Alustuseks vajame funktsiooni createProduct toote loomiseks, lisame selle faili forStorage.js peale funktsiooni getProducts:

forStorage.jsexport async function createProduct() {}

Kõigepealt lisame uuesti someNetwork:

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

Seejärel vajame unikaalset id-d iga toote jaoks, olete sellega kokku puutunud Reacti õpikus. Kasutame selleks teeki nanoid. Sisestame terminali järgmise käsu:

terminalnpm install --save nanoid

Impordime faili forStorage.js teegi:

forStorage.jsimport { nanoid } from 'nanoid'

Olgu meil id-d 6 sümboli pikkused:

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

Algselt on toote loomisel meil objektis ainult id. Kutsume välja getProducts, lisame loodud toode ja uuendame oma toodete nimekirja hoidlas. Valmis:

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;
}

Funktsioon nimekirja uuendamiseks hoidlas on järgmine (lisame sellele tooded võtme products all), paigutame selle funktsiooni createProduct järele:

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

Võtke rakendus, mille lõite varasemate õppetundide ülesannetes. Kasutades tunni materjale, kirjutage faili forStorage.js funktsioon createStudent ja setStudents õpilaste andmete lisamiseks hoidlasse.