Добавление данных в хранилище в React Router

В этом уроке мы займемся добавлением продукта в хранилище. Для начала, нам нужна функция createProduct для создания продукта, добавим ее в forStorage.js после функции getProducts:

export async function createProduct() {}

Сначала снова добавляем someNetwork:

export async function createProduct() { await someNetwork(); }

А вот далее нам понадобится уникальный id для каждого продукта, вы уже встречались с этим в учебнике React. Воспользуемся для этого библиотекой nanoid. Введем в терминале следующую команду:

npm install --save nanoid

Импортируем в forStorage.js библиотеку:

import { nanoid } from 'nanoid'

Пусть у нас будут id по 6 символов:

export async function createProduct() { await someNetwork(); let id = nanoid(6); }

Изначально при создании продукта у нас будут в объекте только id. Вызовем getProducts, добавим сгенерированный продукт и обновим список наших продуктов в хранилище. Готово:

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

Функция для обновления списка в хранилище будет следующей (мы будет вносить в него продукты под ключиком products), расположим ее после функции createProduct:

function setProducts(products) { return localforage.setItem('products', products); }

Возьмите приложение, созданное вами в заданиях к прошлым урокам. Пользуясь материалами урока, напишите в forStorage.js функцию createStudent и setStudents для добавления данных студентов в хранилище.



Чат с GPT Компилятор