Mencipta Objek Data Produk dalam Redux

Kita sudah ada fungsi untuk mencipta objek dengan penjual, mari beralih kepada produk. Penciptaan objek ini akan menjadi sedikit lebih rumit kerana ia mengandungi lebih banyak medan data. Mari kita mulakan.

Mari buka aplikasi produk kita, dan dalamnya fail server.js. Di bawah fungsi getRandInt, mari tulis fungsi kita createProductData:

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

Sekarang mari tentukan sifat yang kita perlukan. Nilai untuk name, price dan amount kita akan jana menggunakan getRandInt, yang telah kita tulis dalam pelajaran lepas:

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

Dan untuk menjana huraian, kita akan gunakan satu lagi alat yang berguna. Iaitu perpustakaan faker, yang membolehkan penjanaan nama palsu, alamat, e-mel, nama jalan, teks dan lain-lain dalam pelbagai bahasa. Mari taip dalam terminal baris berikut dan pasang perpustakaan ini untuk aplikasi kita:

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

Kemudian import ke dalam fail kita:

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

Mari kita gunakan penjanaan ayat yang mengandungi teks "ikan" terkenal 'Lorem ipsum'. Biarkan huraian mengandungi dari 3 hingga 5 ayat sedemikian:

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

Sekarang tambahkan ke dalam objek kita medan reaksi, nilainya kita akan hantar, dengan objek yang dijana di tempat dengan arahan create (reaksi buat masa ini di dalamnya akan menjadi 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(),
  }
}

Dan sifat terakhir, tambahkan objek penjual yang sudah dijana, yang kita mesti hantar sebagai parameter kepada fungsi createProductData. Beginilah rupa kod penuh fungsi penciptaan objek produk:

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

Buka aplikasi anda dengan pelajar. Setelah membiasakan diri dengan bahan pelajaran ini, tulis fungsi untuk mencipta objek data pelajar.