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:
const 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:
const 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:
npm install @faker-js/faker --save-dev
Kemudian import ke dalam fail kita:
import { 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:
const 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):
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(),
}
}
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:
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,
}
}
Buka aplikasi anda dengan pelajar. Setelah membiasakan diri dengan bahan pelajaran ini, tulis fungsi untuk mencipta objek data pelajar.