Erstellung eines Datenobjekts für ein Produkt in Redux
Wir haben die Funktion zur Erstellung eines Verkäuferobjekts, kommen wir nun zum Produkt. Die Erstellung dieses Objekts wird ein bisschen komplexer sein, da es mehr Datenfelder enthält. Fangen wir an.
Lassen Sie uns unsere Produktanwendung öffnen,
und darin die Datei server.js. Unterhalb der
Funktion getRandInt schreiben wir unsere Funktion
createProductData:
const createProductData = () => {}
Jetzt schreiben wir die benötigten Eigenschaften. Werte
für name, price und amount
generieren wir mit Hilfe von getRandInt,
die wir in der letzten Lektion geschrieben haben:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Und um eine Beschreibung zu generieren, werden wir ein weiteres nützliches Tool verwenden. Das ist die Bibliothek faker, die es ermöglicht, gefälschte Namen, Adressen, E-Mails, Straßennamen, Texte usw. in verschiedenen Sprachen zu generieren. Lassen Sie uns im Terminal die folgende Zeile eingeben und diese Bibliothek für unsere Anwendung installieren:
npm install @faker-js/faker --save-dev
Und dann importieren wir sie in unsere Datei:
import { faker } from '@faker-js/faker'
Lassen Sie uns daraus die Generierung von
Sätzen nutzen, die den bekannten
Platzhaltertext 'Lorem ipsum' enthalten. Lassen Sie die
Beschreibung zwischen 3 und 5
solcher Sätze enthalten:
const createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
desc: faker.lorem.sentences({ min: 3, max: 5 }),
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Jetzt fügen wir unserem Objekt ein Feld für Reaktionen hinzu,
als Wert übergeben wir ihm ein direkt mit dem Befehl create
generiertes Objekt (die Reaktionen
darin werden zunächst 0 sein):
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(),
}
}
Und als letzte Eigenschaft fügen wir das bereits
generierte Verkäuferobjekt hinzu, das
wir unbedingt als Parameter an die Funktion
createProductData übergeben müssen. So
sieht der vollständige Code der Funktion zur Erstellung des Produktobjekts
aus:
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,
}
}
Öffnen Sie Ihre Anwendung mit den Studenten. Nachdem Sie den Stoff dieser Lektion durchgearbeitet haben, schreiben Sie eine Funktion zur Erstellung eines Objekts mit Studentendaten.