Креирање на објект со податоци за производ во 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,
}
}
Отворете ја вашата апликација со студенти. Запознајте се со материјалот од оваа лекција, напишете функција за креирање на објект со податоци за студент.