Opprettelse av et databol for produkt i Redux
Vi har allerede en funksjon for å opprette et selgerobjekt, la oss gå videre til produktet. Opprettelsen av dette objektet vil være litt mer komplisert, siden det inneholder flere datafelt. La oss komme i gang.
La oss åpne vår produktapplikasjon,
og i den, filen server.js. Under
funksjonen getRandInt skal vi skrive vår funksjon
createProductData:
const createProductData = () => {}
La oss nå definere de nødvendige egenskapene. Verdier
for name, price og amount
vil vi generere ved hjelp av getRandInt,
som vi skrev i forrige leksjon:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Og for å generere en beskrivelse, vil vi bruke en annen nyttig ting. Dette er biblioteket faker, som muliggjør generering av falske navn, adresser, e-poster, gatenavn, tekster osv. på forskjellige språk. La oss skrive følgende i terminalen og installere dette biblioteket for vår applikasjon:
npm install @faker-js/faker --save-dev
Og deretter importere det i vår fil:
import { faker } from '@faker-js/faker'
La oss bruke dens generering av
setninger som inneholder den velkjente
"fylleteksten" 'Lorem ipsum'. La
beskrivelsen inneholde fra 3 til 5
slike setninger:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
La oss nå legge til et felt for reaksjoner i objektet vårt,
vi vil tilordne det et, på stedet generert
med kommandoen create, objekt (reaksjoner
vil foreløpig være 0 hver):
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 siste egenskap legger vi til det allerede
genererte selgerobjektet, som
vi må sende som en parameter
til funksjonen createProductData. Slik
ser den fullstendige koden for funksjonen for opprettelse av produktobjektet
ut:
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,
}
}
Åpne applikasjonen din med studenter. Etter å ha sett på materialet i denne leksjonen, skriv en funksjon for å opprette et objekt med studentdata.