Tooteandmete objekti loomine Reduxis
Funktsioon müüja objekti loomiseks meil on olemas, liigume toote juurde. Selle objekti loomine on natuke keerulisem, kuna see sisaldab rohkem andmevälju. Alustame.
Avame oma tooterakenduse,
ja selles faili server.js. Allpool pärast
funktsiooni getRandInt kirjutame oma funktsiooni
createProductData:
const createProductData = () => {}
Nüüd määrame vajalikud omadused. Väärtused
jaoks name, price ja amount
me genereerime kasutades getRandInt,
mille me kirjutasime eelmisel tunnil:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Ja kirjelduse genereerimiseks kasutame veel üht kasulikku asja. See on teek faker, mis võimaldab genereerida võltsitud nimesid, aadresse, meile, tänavate nimesid, tekste jne erinevatel keeltel. Sisestame terminali järgmise käsirea ja installime selle teegi meie rakendusse:
npm install @faker-js/faker --save-dev
Ja siis impordime oma faili:
import { faker } from '@faker-js/faker'
Kasutame selles lausete
genereerimist, mis sisaldavad tuntud
teksti-"kalast" 'Lorem ipsum'. Olgu
kirjelduses 3 kuni 5
sellist lauset:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Nüüd lisame oma objekti välja reaktsioonidega,
väärtuseks anname sellele, genereeritud
kohapeal käsuga create, objekti (reaktsioonid
on seal esialgu 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(),
}
}
Ja viimase omadusena lisame juba
genereeritud müüja objekti, mille
peame parameetrina kindlasti edasi andma
funktsioonile createProductData. Nii
looks täielik toote objekti loomise funktsiooni kood:
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,
}
}
Avage oma õpilaste rakendus. Pärast selle tunni materjaliiga tutvumist, kirjutage funktsioon õpilase andmete objekti loomiseks.