Creación de un objeto con datos del producto en Redux
Ya tenemos la función para crear el objeto con el vendedor, pasemos al producto. La creación de este objeto será un poco más complicada, ya que contiene más campos de datos. Empecemos.
Abramos nuestra aplicación de productos,
y en ella el archivo server.js. Debajo de
la función getRandInt escribamos nuestra función
createProductData:
const createProductData = () => {}
Ahora especifiquemos las propiedades que necesitamos. Los valores
para name, price y amount
los generaremos usando getRandInt,
que escribimos en la lección anterior:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Y para generar la descripción, utilizaremos otra cosa útil. Es la biblioteca faker, que permite generar nombres falsos, direcciones, correos electrónicos, nombres de calles, textos, etc. en diferentes idiomas. Escribamos en la terminal la siguiente línea e instalemos esta biblioteca para nuestra aplicación:
npm install @faker-js/faker --save-dev
Y luego importémosla en nuestro archivo:
import { faker } from '@faker-js/faker'
Utilicemos la generación de oraciones,
que contienen el texto de "relleno" conocido
'Lorem ipsum'. Que la
descripción contenga de 3 a 5
de estas oraciones:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Ahora agreguemos a nuestro objeto un campo con reacciones,
le pasaremos como valor un objeto generado
al momento con el comando create (las reacciones
por ahora serán 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(),
}
}
Y como última propiedad agreguemos el
objeto del vendedor ya generado, el cual
debemos pasar obligatoriamente como parámetro
a la función createProductData. Así
es como se ve el código completo de la función de creación del objeto
del producto:
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,
}
}
Abra su aplicación de estudiantes. Habiendo revisado el material de esta lección, escriba una función para crear un objeto con datos del estudiante.