Aanmaken van een object met productgegevens in Redux
We hebben al een functie voor het aanmaken van een object met een verkoper, laten we naar het product overgaan. Het aanmaken van dit object wordt een beetje complexer, omdat het meer velden met gegevens bevat. Laten we beginnen.
Laten we onze productenapplicatie openen,
en daarin het bestand server.js. Schrijf onder de
functie getRandInt onze functie
createProductData:
const createProductData = () => {}
Laten we nu de benodigde eigenschappen invoeren. Waarden
voor name, price en amount
genereren we met behulp van getRandInt,
die we in de vorige les hebben geschreven:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
En om een beschrijving te genereren, zullen we gebruik maken van nog een nuttig ding. Dit is de bibliotheek faker, die het mogelijk maakt om valse namen, adressen, e-mails, straatnamen, teksten, etc. in verschillende talen te genereren. Laten we in de terminal de volgende regel invoeren en deze bibliotheek voor onze applicatie installeren:
npm install @faker-js/faker --save-dev
En vervolgens importeren in ons bestand:
import { faker } from '@faker-js/faker'
Laten we er de generatie van zinnen in gebruiken,
bevattende de bekende
"lorem ipsum"-tekst 'Lorem ipsum'. Laat de
beschrijving van 3 tot 5
van dergelijke zinnen bevatten:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Laten we nu aan ons object een veld met reacties toevoegen,
we geven als waarde een, ter plekke gegenereerd met de
opdracht create, object (de reacties
zullen voorlopig 0 zijn):
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(),
}
}
En als laatste eigenschap voegen we het reeds
gegenereerde verkopersobject toe, dat
we verplicht moeten doorgeven als parameter
aan de functie createProductData. Zo
ziet de volledige code van de functie voor het aanmaken van het
productobject eruit:
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,
}
}
Open je applicatie met studenten. Na bestudering van de stof van deze les, schrijf een functie voor het aanmaken van een object met studentgegevens.