Redux-də məhsul məlumat obyektinin yaradılması

Satıcı obyekti yaratmaq funksiyası artıq hazırdır, indi isə məhsula keçək. Bu obyektin yaradılması bir az daha mürəkkəb olacaq, çünki onda daha çox məlumat sahəsi var. Başlayaq.

Gəlin məhsul proqramımızı açaq, onda isə server.js faylına keçək. Aşağıda, getRandInt funksiyasından sonra bizim funksiyamızı createProductData yazaq:

api/server.jsconst createProductData = () => {}

İndi lazım olan xassələri təyin edək. name, price və amount üçün dəyərləri keçən dərs yazdığımız getRandInt funksiyası vasitəsilə yaradacayıq:

api/server.jsconst createProductData = () => {
  return {
    name: `Product${getRandInt(0, 100)}`,
    price: getRandInt(100, 2000),
    amount: getRandInt(1, 50),
  }
}

Təsviri yaratmaq üçün isə, biz başqa bir faydalı vasitədən istifadə edəcəyik. Bu < a href="https://fakerjs.dev/">faker kitabxanasıdır, bu kitabxana müxtəlif dillərdə saxta adlar, ünvanlar, e-poçtlar, küçə adları, mətnlər və s. yaratmağa imkan verir. Gəlin terminala aşağıdakı sətri daxil edək və bu kitabxananı proqramımız üçün quraşdıraq:

terminalnpm install @faker-js/faker --save-dev

Və sonra faylımıza import edək:

api/server.jsimport { faker } from '@faker-js/faker'

Gəlin onun içində, məşhur "Lorem ipsum" mətnini özündə saxlayan cümlələrin yaradılmasından istifadə edək. Qoy təsvir 3-dən 5-ə qədər bələ cümlədən ibarət olsun:

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),
  }
}

İndi obyektimizə reaksiyalar sahəsini əlavə edək, onun dəyəri kimi, create əmri ilə yerindəcə yaradılmış obyekti ötürəcəyik (reaksiyalar indi orada 0 olacaq):

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(),
  }
}

Və son xassə kimi artıq yaradılmış satıcı obyektini əlavə edəcəyik, hansını ki mütləq parametr kimi createProductData funksiyasına ötürməliyik. Budur tam məhsul obyekti yaratma funksiyasının kodu:

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,
  }
}
Задание 1

Tələbə proqramınızı açın. Bu dərsin materialı ilə tanış olduqdan sonra, tələbə məlumatları olan obyekti yaratmaq funksiyasını yazın.