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:
api/server.jsconst createProductData = () => {}
Nüüd määrame vajalikud omadused. Väärtused
jaoks name, price ja amount
me genereerime kasutades getRandInt,
mille me kirjutasime eelmisel tunnil:
api/server.jsconst 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:
terminalnpm install @faker-js/faker --save-dev
Ja siis impordime oma faili:
api/server.jsimport { faker } from '@faker-js/faker'
Kasutame selles lausete
genereerimist, mis sisaldavad tuntud
teksti-"kalast" 'Lorem ipsum'. Olgu
kirjelduses 3 kuni 5
sellist lauset:
api/server.jsconst 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):
api/server.jsconst 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:
api/server.jsconst 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.