Kuunda Kitu na Data ya Bidhaa katika Redux

Tayari tunayo kazi ya kuunda kitu na muuzaji, hebu tuendelee na bidhaa. Kuunda kitu hiki kitakuwa ngumu kidogo, kwa sababu kina sehemu zaidi za data. Tuanze.

Wacha tufungue programu yetu ya bidhaa, na ndani yake faili server.js. Chini ya kazi getRandInt tuandike kazi yetu createProductData:

api/server.jsconst createProductData = () => {}

Sasa tuandike sifa tunazohitaji. Thamani kwa name, price na amount tutazitengeneza kwa kutumia getRandInt, ambayo tuliandika katika somo lilopita:

api/server.jsconst createProductData = () => {
  return {
    name: `Product${getRandInt(0, 100)}`,
    price: getRandInt(100, 2000),
    amount: getRandInt(1, 50),
  }
}

Na ili kutengeneza maelezo, tutatumia kitu muhimu kingine. Hii ni maktaba faker, ambayo inaruhusu kutengeneza majina bandia, anwani, barua pepe, majina ya mitaa, maandishi na kadhalika kwa lugha mbalimbali. Hebu tuingize kwenye terminal msururu ufuatao na tusakinishe maktaba hii kwa programu yetu:

terminalnpm install @faker-js/faker --save-dev

Kisha tuingize kwenye faili yetu:

api/server.jsimport { faker } from '@faker-js/faker'

Wacha tutumie utengenezaji wa sentensi zilizo na maandishi ya kawaida ya "samaki" 'Lorem ipsum'. Acha maelezo yawe na kutoka 3 hadi 5 sentensi kama hizi:

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),
  }
}

Sasa tuongeze kwenye kitu chetu uga na majibu, tutaipa thamani, iliyotengenezwa mahali pasipo na kifaa kwa amri create, kitu (majibu kwa sasa yatakuwa 0 kila mmoja):

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(),
  }
}

Na sifa ya mwisho tuongeze kitu kilichotengenezwa tayari cha muuzaji, ambacho tunapaswa kuwasilisha kwa lazima kama parameta katika kazi createProductData. Hivi ndivyo mfumo wa kamili wa kazi ya kuunda kitu cha bidhaa inavyoonekana:

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,
  }
}
Задание 1

Fungua programu yako ya wanafunzi. Baada ya kujifunza nyenzo za somo hili, andika kazi ya kuunda kitu na data ya mwanafunzi.