Reduxда маҳсулот маълумотлари билан объект яратиш
Сотувчи билан объект яратиш учун функция бизда бор, энди маҳсулотга ўтамиз. Бущ объектни яратиш бир аз мураккаброқ бўлади, чунки унда кўпроқ маълумотлар майдонлари мавжуд. Бошлаймиз.
Келгила, маҳсулотларимиз билан илованимизни ochамиз,
ва ундаги server.js файлини ochамиз. getRandInt
функциясидан кейин бизнинг функциямизни
createProductData ёзамиз:
const createProductData = () => {}
Энди бизга керак бўлган хусусиятларни белгилаймиз.
name, price ва amount учун
қийматларни биз аввалги дарсда ёзган
getRandInt функцияси ёрдамида яратамиз:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Ва тавсифни яратиш учун, биз яна бир фойдали нарсадан фойдаланамиз. Бу faker кутубхонаси, у турли тилларда сўнгий исмлар, манзиллар, электрон почталар, кўча номлари, матнлар ва ҳоказоларни яратиш имконини беради. Келгила, терминалимизда куйидаги сатрни киритиб, бу кутубхонани иловамизга ўрнатамиз:
npm install @faker-js/faker --save-dev
Ва сўнгра файлимизга импорт қиламиз:
import { faker } from '@faker-js/faker'
Келгила, унда 'Lorem ipsum' машҳур матн-"балиқ"ни
ўз ичита олган жумлалар яратишдан фойдаланамиз. Тавсиф
3 дан 5 гача бундай жумлаларни ўз ичита олсин:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Энди объектимизга реакциялар майдонини қўшамиз,
унинг қийматига биз create командаси билан
ўша жойда яратилган объектни берамиз (реакциялар
ҳозирча унда 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(),
}
}
Ва охирги хусусият сифатида биз аллақачон яратилган
сотувчи объектини қўшамиз, уни биз албатта
createProductData функциясига параметр сифатида
ўтказамиз. Маҳсулот объектини яратиш функциясининг
тўлиқ коди куйидагича кўринишда:
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,
}
}
Талабаларингиз билан иловангизни ochинг. Бущ дарс материаллари билан танишиб чиққанингиздан сўнг, талаба маълумотлари билан объект яратиш учун функция ёзинг.