Termékadatok objektum létrehozása a Redux-ban
Megvan a függvényünk az eladó objektum létrehozásához, most térjünk át a termékre. Ennek az objektumnak a létrehozása egy kicsit bonyolultabb lesz, mivel több adatmezőt tartalmaz. Kezdjük.
Nyissuk meg a termékalkalmazásunkat,
és benne a server.js fájlt. Az
getRandInt függvény alá írjuk a
createProductData függvényünket:
const createProductData = () => {}
Most adjuk meg a szükséges tulajdonságokat. Az
name, price és amount
értékeit az előző leckén megírt
getRandInt függvénnyel fogjuk generálni:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
A leírás generálásához pedig használjunk egy másik hasznos eszközt. Ez a faker könyvtár, amely hamis neveket, címeket, e-maileket, utcaneveket, szövegeket stb. generál különböző nyelveken. Gépeljük be a terminálba a következő parancsot és telepítsük ezt a könyvtárat az alkalmazásunkba:
npm install @faker-js/faker --save-dev
Majd importáljuk a fájlunkba:
import { faker } from '@faker-js/faker'
Használjuk benne a mondatok generálását,
amely a híres "Lorem ipsum" szöveget
tartalmazza. Legyen a leírás 3 és
5 ilyen mondatból:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Most adjuk hozzá az objektumunkhoz a reakciók mezőt,
értékének átadunk egy, a create paranccsal
generált objektumot (a reakciók
egyelőre 0 lesznek benne):
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(),
}
}
Utolsó tulajdonsággént pedig adjuk hozzá a már
generált eladó objektumot, amit paraméterként
kell átadnunk a
createProductData függvénynek. Íme
a termék objektum létrehozásának teljes kódja:
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,
}
}
Nyisd meg a diákalkalmazásodat. Miután megismerted ezen lecke anyagát, írj egy függvényt diák adatobjektum létrehozásához.