Создание объекта с данными продукта в Redux

Функция для создания объекта с продавцом у нас есть, перейдем к продукту. Создание этого объекта будет чуточку сложнее, поскольку он содержит больше полей с данными. Приступим.

Давайте откроем наше приложение с продуктами, а в нем файл server.js. Ниже после функции getRandInt напишем нашу функцию createProductData:

const createProductData = () => {}

Теперь пропишем нужные нам свойства. Значения для name, price и amount мы сгенерируем при помощи getRandInt, которую мы написали на прошлом уроке:

const createProductData = () => { return { name: `Product${getRandInt(0, 100)}`, price: getRandInt(100, 2000), amount: getRandInt(1, 50), } }

А для того, чтобы сгенерировать описание, мы воспользуемся еще одной полезной штукой. Это библиотека faker, которая позволяет генерировать фейковые имена, адреса, мэйлы, названия улиц, тексты и пр. на разных языках. Давайте введем в терминале следующую строку и установим эту библиотечку для нашего приложения:

npm install @faker-js/faker --save-dev

А затем импортируем в наш файл:

import { faker } from '@faker-js/faker'

Давайте воспользуемся в ней генерацией предложений, содержащими общеизвестный текст-"рыбу" 'Lorem ipsum'. Пусть описание содержит от 3 до 5 таких предложений:

const createProductData = () => { return { name: `Product${getRandInt(0, 100)}`, desc: faker.lorem.sentences({ min: 3, max: 5 }), price: getRandInt(100, 2000), amount: getRandInt(1, 50), } }

Теперь добавим в наш объект поле с реакциями, значением ему мы передадим, сгенерированный на месте командой create, объект (реакции пока в нем будут по 0):

const createProductData = () => { return { name: `Product${getRandInt(0, 100)}`, desc: faker.lorem.sentences({ min: 3, max: 5 }), price: getRandInt(100, 2000), amount: getRandInt(1, 50), reactions: db.reaction.create(), } }

И последним свойством добавим уже сгенерированный объект продавца, который мы обязательно должны передать параметром в функцию createProductData. Вот так выглядит полный код функции создания объекта продукта:

const createProductData = (seller) => { return { name: `Product${getRandInt(0, 100)}`, desc: faker.lorem.sentences({ min: 3, max: 5 }), price: getRandInt(100, 2000), amount: getRandInt(1, 50), reactions: db.reaction.create(), seller, } }

Откройте ваше приложение со студентами. Ознакомившись с материалом этого урока, напишите функцию для создания объекта с данными студента.



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