Création d'un objet avec les données du produit dans Redux
Nous avons une fonction pour créer l'objet avec le vendeur, passons au produit. La création de cet objet sera un peu plus complexe, car il contient plus de champs de données. Commençons.
Ouvrons notre application avec les produits,
et dans celle-ci le fichier server.js. En dessous de
la fonction getRandInt, écrivons notre fonction
createProductData :
const createProductData = () => {}
Maintenant, définissons les propriétés dont nous avons besoin. Les valeurs
pour name, price et amount
seront générées à l'aide de getRandInt,
que nous avons écrite dans la leçon précédente :
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Et pour générer la description, nous utiliserons un autre outil utile. Il s'agit de la bibliothèque faker, qui permet de générer de faux noms, adresses, e-mails, noms de rues, textes, etc. dans différentes langues. Tapons dans le terminal la ligne suivante et installons cette bibliothèque pour notre application :
npm install @faker-js/faker --save-dev
Puis importons-la dans notre fichier :
import { faker } from '@faker-js/faker'
Utilisons-la pour générer des phrases
contenant le texte bien connu
du "faux-texte" 'Lorem ipsum'. Que la
description contienne entre 3 et 5
de ces phrases :
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Maintenant, ajoutons à notre objet un champ pour les réactions,
sa valeur sera un objet généré
sur place par la commande create (les réactions
y seront à 0 pour l'instant) :
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(),
}
}
Et comme dernière propriété, ajoutons l'objet
vendeur déjà généré, que
nous devons impérativement passer en paramètre
à la fonction createProductData. Voici
le code complet de la fonction de création de l'objet
produit :
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,
}
}
Ouvrez votre application avec les étudiants. Après avoir pris connaissance du contenu de cette leçon, écrivez une fonction pour créer un objet avec les données d'un étudiant.