Produkta datu objekta izveide Redux
Funkcija pārdevēja objekta izveidei mums ir, pāriesim pie produkta. Šī objekta izveide būs mazliet sarežģītāka, jo tas satur vairāk datu lauku. Sāksim.
Atvērsim mūsu produktu lietotni,
un tajā failu server.js. Zem
funkcijas getRandInt uzrakstīsim mūsu funkciju
createProductData:
const createProductData = () => {}
Tagad norādīsim vajadzīgās īpašības. Vērtības
name, price un amount
mēs ģenerēsim, izmantojot getRandInt,
ko mēs uzrakstījām iepriekšējā nodarbībā:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Un, lai ģenerētu aprakstu, mēs izmantosim vēl vienu noderīgu lietu. Šī ir bibliotēka faker, kas ļauj ģenerēt viltus vārdus, adreses, e-pastus, ielu nosaukumus, tekstus utt. dažādās valodās. Ievadīsim terminālī šādu rindiņu un instalēsim šo bibliotēku mūsu lietotnei:
npm install @faker-js/faker --save-dev
Un tad importēsim mūsu failā:
import { faker } from '@faker-js/faker'
Izmantosim tajā teikumu ģenerēšanu,
satur pazīstamu
tekstu-"zivi" 'Lorem ipsum'. Lai
apraksts satur no 3 līdz 5
šādus teikumus:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Tagad pievienosim mūsu objektam lauku ar reakcijām,
tā vērtībai mēs padod, ģenerētu
uz vietas ar komandu create, objektu (reakcijas
pagaidām tajā būs pa 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(),
}
}
Un kā pēdējo īpašību pievienosim jau
ģenerēto pārdevēja objektu, kuru
mums obligāti jānodod kā parametru
funkcijai createProductData. Šādi
izskatās pilns produkta objekta izveides funkcijas kods:
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,
}
}
Atveriet savu studentu lietotni. Iepazīstoties ar šīs nodarbības materiālu, uzrakstiet funkciju studenta datu objekta izveidei.