Crearea unui obiect cu datele produsului în Redux
Funcția pentru crearea obiectului cu vânzătorul o avem, să trecem la produs. Crearea acestui obiect va fi puțin mai complexă, deoarece conține mai multe câmpuri cu date. Să începem.
Să deschidem aplicația noastră cu produsele,
iar în ea fișierul server.js. Mai jos după
funcția getRandInt să scriem funcția noastră
createProductData:
const createProductData = () => {}
Acum să specificăm proprietățile necesare. Valorile
pentru name, price și amount
le vom genera folosind getRandInt,
pe care am scris-o în lecția precedentă:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Iar pentru a genera descrierea, vom folosi încă un instrument util. Aceasta este biblioteca faker, care permite generarea de nume false, adrese, email-uri, nume de străzi, texte și altele pe diferite limbi. Să introducem în terminal următoarea linie și să instalăm această bibliotecă pentru aplicația noastră:
npm install @faker-js/faker --save-dev
Și apoi să o importăm în fișierul nostru:
import { faker } from '@faker-js/faker'
Să folosim din ea generarea de
propoziții, care conțin textul
celebru "Lorem ipsum". Fie ca
descrierea să conțină de la 3 până la 5
astfel de propoziții:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Acum să adăugăm în obiectul nostru câmpul cu reacțiile,
valoarea lui îi vom transmite, generat
pe loc cu comanda create, obiectul (reacțiile
momentan în el vor fi câte 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(),
}
}
Și ca ultimă proprietate vom adăuga
obietul de vânzător deja generat, pe care
trebuie neapărat să îl transmitem ca parametru
în funcția createProductData. Iată cum
arată codul complet al funcției de creare a obiectului
produsului:
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,
}
}
Deschideți aplicația voastră cu studenții. După ce v-ați familiarizat cu materialul acestei lecții, scrieți o funcție pentru crearea unui obiect cu datele studentului.