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 :
api/server.jsconst 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 :
api/server.jsconst 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 :
terminalnpm install @faker-js/faker --save-dev
Puis importons-la dans notre fichier :
api/server.jsimport { 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 :
api/server.jsconst 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) :
api/server.jsconst 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 :
api/server.jsconst 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.