Reduxте продукт маалымат объектин түзүү
Сатуучу менен объект түзүүчү функция бизде бар, андан ары продуктка өтөлү. Бул объектти түзүү бир аз татаалыраак болот, анткени ал көбүрөөк маалымат талааларын камтыйт. Баштайлы.
Келгиле, продуктуларыбыз менен колдонмобузду ачалы,
жана андагы server.js файлын. Төмөндө
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,
}
}
Студенттер менен колдонмоңузду ачыңыз. Бул сабактын материалы менен таанышып, студенттин маалымат объектин түзүүчү функцияны жазыңыз.