Redux-এ পণ্য ডেটা অবজেক্ট তৈরি করা

বিক্রেতার সাথে একটি অবজেক্ট তৈরি করার ফাংশন আমাদের আছে, এখন পণ্যের দিকে এগোনো যাক। এই অবজেক্টটি তৈরি করা একটু বেশি জটিল হবে, কারণ এতে আরও ডেটা ফিল্ড রয়েছে। চলুন শুরু করা যাক।

আসুন আমাদের পণ্য অ্যাপ্লিকেশনটি খুলি, এবং এটির মধ্যে server.js ফাইলটি। নীচে getRandInt ফাংশনের পরে আমাদের ফাংশন createProductData লিখি:

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

এখন আমাদের প্রয়োজনীয় বৈশিষ্ট্যগুলি লিখি। name, price এবং amount-এর জন্য মান আমরা getRandInt ব্যবহার করে তৈরি করব, যা আমরা আগের পাঠে লিখেছিলাম:

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

এবং বিবরণ তৈরি করতে, আমরা আরেকটি দরকারী জিনিস ব্যবহার করব। এটি faker লাইব্রেরি, যা বিভিন্ন ভাষায় জাল নাম, ঠিকানা, ইমেল, রাস্তার নাম, পাঠ্য ইত্যাদি তৈরি করতে দেয়। আসুন টার্মিনালে নিম্নলিখিত লাইনটি লিখি এবং আমাদের অ্যাপ্লিকেশনের জন্য এই লাইব্রেরিটি ইনস্টল করি:

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

এবং তারপর আমাদের ফাইলে এটি ইম্পোর্ট করি:

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

আসুন এতে বাক্য তৈরির ব্যবহার করি, যাতে সুপরিচিত "লোরেম ইপসাম" 'Lorem ipsum' টেক্সট থাকে। যাক বিবরণে 3 থেকে 5টি এরকম বাক্য থাকে:

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

এখন আমাদের অবজেক্টে রিঅ্যাকশন ফিল্ড যোগ করি, এর মান আমরা create কমান্ড দ্বারা তখনই তৈরি করা, একটি অবজেক্ট হিসেবে পাস করব (রিঅ্যাকশন এখনই এতে 0 হবে):

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

এবং শেষ বৈশিষ্ট্য হিসেবে আগে থেকেই তৈরি করা বিক্রেতা অবজেক্ট যোগ করি, যা আমাদের অবশ্যই প্যারামিটার হিসেবে createProductData ফাংশনে পাস করতে হবে। এভাবেই পণ্য অবজেক্ট তৈরি করার ফাংশনের সম্পূর্ণ কোড দেখতে:

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

আপনার শিক্ষার্থীদের অ্যাপ্লিকেশনটি খুলুন। এই পাঠের উপাদানটি দেখে নেওয়ার পরে, শিক্ষার্থীর ডেটা সহ একটি অবজেক্ট তৈরি করার ফাংশন লিখুন।