Ustvarjanje objekta s podatki o izdelku v Redux
Funkcijo za ustvarjanje objekta s prodajalcem imamo, pojdimo k izdelku. Ustvarjanje tega objekta bo nekoliko bolj zapleteno, saj vsebuje več polj s podatki. Pa začnimo.
Odprimo našo aplikacijo z izdelki,
in v njej datoteko server.js. Spodaj za
funkcijo getRandInt napišimo našo funkcijo
createProductData:
const createProductData = () => {}
Zdaj določimo potrebne lastnosti. Vrednosti
za name, price in amount
bomo generirali s pomočjo getRandInt,
ki smo jo napisali v prejšnji lekciji:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Za generiranje opisa pa bomo uporabili še eno uporabno stvar. To je knjižnica faker, ki omogoča generiranje lažnih imen, naslovov, e-pošte, imen ulic, besedil itd. v različnih jezikih. Vpišimo v terminal naslednjo vrstico in namestimo to knjižnico za našo aplikacijo:
npm install @faker-js/faker --save-dev
in nato uvozimo v našo datoteko:
import { faker } from '@faker-js/faker'
Uporabimo generiranje
stavek, ki vsebujejo dobro znano
besedilo-"ribe" 'Lorem ipsum'. Naj
opis vsebuje od 3 do 5
takih stavkov:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Zdaj dodajmo v naš objekt polje z reakcijami,
vrednost mu bomo določili z generiranim
na mestu z ukazom create, objektom (reakcije
za zdaj bodo v njem 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(),
}
}
In kot zadnjo lastnost dodajmo že
generiran objekt prodajalca, ki
ga moramo zagotovo posredovati kot parameter
v funkcijo createProductData. Takole
izgleda polna koda funkcije za ustvarjanje objekta
izdelka:
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,
}
}
Odprite vašo aplikacijo s študenti. Po seznanitvi z gradivom te lekcije, napišite funkcijo za ustvarjanje objekta s podatki študenta.