Redux'ta Ürün Veri Nesnesi Oluşturma
Satıcı nesnesi oluşturan fonksiyonumuz var, şimdi ürüne geçelim. Bu nesneyi oluşturmak biraz daha karmaşık olacak, çünkü daha fazla veri alanı içeriyor. Haydi başlayalım.
Ürün uygulamamızı açalım ve
içindeki server.js dosyasını açalım.
getRandInt fonksiyonunun altına
createProductData fonksiyonumuzu yazalım:
api/server.jsconst createProductData = () => {}
Şimdi ihtiyacımız olan özellikleri yazalım.
name, price ve amount
için değerleri, bir önceki derste yazdığımız
getRandInt fonksiyonunu kullanarak
oluşturacağız:
api/server.jsconst createProductData = () => {
return {
name: `Product${getRandInt(0, 100)}`,
price: getRandInt(100, 2000),
amount: getRandInt(1, 50),
}
}
Açıklama oluşturmak için ise başka bir kullanışlı şeyden faydalanacağız. Bu, faker kütüphanesidir ve farklı dillerde sahte isimler, adresler, e-postalar, sokak isimleri, metinler vb. oluşturmayı sağlar. Haydi terminale aşağıdaki satırı girerek bu kütüphaneyi uygulamamıza kuralım:
terminalnpm install @faker-js/faker --save-dev
Ve ardından dosyamıza import edelim:
api/server.jsimport { faker } from '@faker-js/faker'
Şimdi içinde ünlü 'Lorem ipsum' metnini içeren
cümleler oluşturmayı kullanalım. Açıklamanın
3 ile 5 arasında bu tür cümle
içermesini sağlayalım:
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),
}
}
Şimdi nesnemize tepkiler alanını ekleyelim,
değer olarak yerinde create komutuyla
oluşturulmuş bir nesneyi ileteceğiz (içindeki
tepkiler şimdilik 0 olacak):
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(),
}
}
Ve son özellik olarak, önceden oluşturulmuş
satıcı nesnesini ekleyeceğiz, ki bu nesneyi
mutlaka createProductData fonksiyonuna
parametre olarak iletmeliyiz. İşte ürün nesnesi
oluşturma fonksiyonunun tam kodu şöyle görünüyor:
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,
}
}
Öğrenci uygulamanızı açın. Bu dersin materyalini inceledikten sonra, öğrenci veri nesnesi oluşturmak için bir fonksiyon yazın.