Oprettelse af objekt med produktdata i Redux
Vi har allerede en funktion til at oprette et objekt med sælger, lad os gå videre til produktet. Oprettelsen af dette objekt vil være en lille smule mere komplekst, fordi det indeholder flere felter med data. Lad os komme i gang.
Lad os åbne vores produktapplikation,
og i den filen server.js. Nedenfor efter
funktionen getRandInt skriver vi vores funktion
createProductData:
const createProductData = () => {}
Lad os nu definere de nødvendige egenskaber. Værdier
for name, price og amount
vil vi generere ved hjælp af getRandInt,
som vi skrev i den forrige lektion:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Og for at generere en beskrivelse, vil vi bruge en anden nyttig ting. Det er biblioteket faker, som gør det muligt at generere falske navne, adresser, e-mails, gadenavne, tekster osv. på forskellige sprog. Lad os indtaste følgende i terminalen og installere dette bibliotek til vores applikation:
npm install @faker-js/faker --save-dev
Og derefter importere det i vores fil:
import { faker } from '@faker-js/faker'
Lad os bruge dens generering af
sætninger, der indeholder den velkendte
"fyldtekst" 'Lorem ipsum'. Lad
beskrivelsen indeholde fra 3 til 5
sådanne sætninger:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Lad os nu tilføje et felt med reaktioner til vores objekt,
vi vil give det en værdi, genereret på stedet med kommandoen create, et objekt (reaktioner
vil indtil videre være 0 i det):
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(),
}
}
Og som den sidste egenskab tilføjer vi det allerede
genererede sælgerobjekt, som
vi absolut skal sende som en parameter
til funktionen createProductData. Sådan
ser den fulde kode for funktionen til oprettelse af produktobjektet
ud:
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,
}
}
Åbn din applikation med studerende. Efter at have gennemgået materialet i denne lektion, skriv en funktion til at oprette et objekt med studerendedata.