Redux တွင် ထုတ်ကုန်ဒေတာအား ဖန်တီးခြင်း

ရောင်းသူဒေတာအား ဖန်တီးရန် function ရှိပြီးဖြစ်သည့်အတွက် ယခုထုတ်ကုန်ဆီသို့ ကူးပြောင်းပါမည်။ ဤအရာကိုဖန်တီးခြင်းသည် ဒေတာကွင်းများပိုမိုပါဝင်သောကြောင့် အနည်းငယ်ပိုမိုရှုပ်ထွေးပါလိမ့်မည်။ စတင်လိုက်ကြပါစို့။

ကျွန်ုပ်တို့၏ ထုတ်ကုန်များနှင့်အတူ application ကိုဖွင့်ပါ၊ ၎င်းအတွင်း server.js ဖိုင်ကိုဖွင့်ပါ။ getRandInt function အောက်တွင် ကျွန်ုပ်တို့၏ function createProductData ကိုရေးသားပါမည်။

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

ယခု ကျွန်ုပ်တို့လိုအပ်သော properties များကို သတ်မှတ်ပါမည်။ name, price နှင့် amount အတွက် တန်ဖိုးများကို ယခင်သင်ခန်းစာတွင် ရေးသားခဲ့သော getRandInt ကို အသုံးပြု၍ ကျပန်းတန်ဖိုးထုတ်ပါမည်။

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

ရှင်းလင်းချက် (description) ကို ထုတ်လုပ်ရန်အတွက် ကျွန်ုပ်တို့သည် နောက်ထပ် အသုံးဝင်သောအရာတစ်ခုကို အသုံးပြုပါမည်။ ၎င်းမှာ faker library ဖြစ်ပြီး၊ မတူညီသောဘာသာစကားများဖြင့် အတုအယောင် အမည်များ၊ လိပ်စာများ၊ အီးမေးလ်များ၊ လမ်းအမည်များ၊ စာသားများနှင့် အခြားအရာများကို ထုတ်လုပ်နိုင်စေပါသည်။ အောက်ပါ command ကို terminal ထဲတွင် ရိုက်ထည့်၍ ကျွန်ုပ်တို့၏ application အတွက် ဤ library ကို တပ်ဆင်လိုက်ကြပါစို့။

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

ထို့နောက် ကျွန်ုပ်တို့၏ ဖိုင်ထဲသို့ import လုပ်ပါမည်။

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

၎င်းအတွင်းရှိ လူသိများသော 'Lorem ipsum' စာသား-"ငါး" ပါဝင်သော ဝါကျများကို ထုတ်လုပ်ခြင်းကို အသုံးပြုကြပါစို့။ ရှင်းလင်းချက်တွင် 3 မှ 5 အထိ ထိုသို့သော ဝါကျများ ပါဝင်ပါစေ။

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

ယခုတွင် ကျွန်ုပ်တို့၏ object ထဲသို့ တုံ့ပြန်ချက်များ (reactions) ကွင်းကို ထည့်သွင်းပါမည်၊ ၎င်း၏တန်ဖိုးအဖြစ် create command ဖြင့် ချက်ချင်းထုတ်လုပ်ထားသော object ကို ပေးပါမည် (တုံ့ပြန်ချက်အားလုံး ယခုအချိန်တွင် 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(),
  }
}

နောက်ဆုံး property အဖြစ် ကျွန်ုပ်တို့သည် ဖန်တီးပြီးသား ရောင်းသူ object ကို ထည့်သွင်းပါမည်။ ၎င်းကို ကျွန်ုပ်တို့သည် createProductData function အတွင်း မဖြစ်မနေ parameter အဖြစ် လက်ခံရမည်ဖြစ်သည်။ ဤတွင် ထုတ်ကုန် object ဖန်တီးခြင်း function ၏ ပြည့်စုံသော code ဖြစ်ပါသည်။

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

�င့်ကျောင်းသား application ကိုဖွင့်ပါ။ ဤသင်ခန်းစာ၏ ပစ္စည်းများကို လေ့လာပြီးနောက်၊ ကျောင်းသားဒေတာအား ဖန်တီးရန် function တစ်ခုကိုရေးပါ။