Skep van 'n objek met produkdata in Redux
Ons het die funksie om 'n objek met 'n verkoper te skep, laat ons na die produk beweeg. Die skepping van hierdie objek sal 'n bietjie meer ingewikkeld wees, aangesien dit meer velde met data bevat. Kom ons begin.
Laat ons ons produkaanvraag oopmaak,
en daarin die lêer server.js. Hieronder na die
funksie getRandInt sal ons ons funksie skryf
createProductData:
const createProductData = () => {}
Laat ons nou die nodige eienskappe spesifiseer. Waardes
vir name, price en amount
sal ons genereer deur van getRandInt gebruik te maak,
wat ons in die vorige les geskryf het:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
En om die beskrywing te genereer, sal ons 'n ander nuttige ding gebruik. Dit is die biblioteek faker, wat toelaat om vals name, adresse, e-pos, straatname, tekste ens. in verskeie tale te genereer. Laat ons in die terminaal die volgende string invoer en hierdie biblioteek installeer vir ons toepassing:
npm install @faker-js/faker --save-dev
En dan in ons lêer invoer:
import { faker } from '@faker-js/faker'
Laat ons daarin die generering van
sinne gebruik, wat die bekende
"lorem ipsum"-teks bevat 'Lorem ipsum'. Laat
die beskrywing van 3 tot 5
sulke sinne bevat:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Laat ons nou 'n veld vir reaksies byvoeg,
waaraan ons die waarde sal gee, gegenereer
ter plekke met die create opdrag (reaksies
sal vir nou 0 elk wees):
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 as laaste eienskap sal ons die reeds
gegenereerde verkoperobjek byvoeg, wat
ons noodwendig as 'n parameter moet deurgee
aan die funksie createProductData. So lyk
die volledige kode van die funksie om die produkobjek
te skep:
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,
}
}
Maak jou toepassing met studente oop. Nadat jy die materiaal van hierdie les deurgegaan het, skryf 'n funksie om 'n objek met studentedata te skep.