1.8 What is Props
Welcome to React Next Documentation Bangla
Props কি?
React-এ Props (Properties) হলো একটি গুরুত্বপূর্ণ কনসেপ্ট, যা Parent Component থেকে Child Component-এ ডেটা পাঠানোর জন্য ব্যবহৃত হয়। এটি ফাংশনের প্যারামিটারগুলোর মতো কাজ করে।
আমরা যেভাবে HTML-এ Attributes লিখি, সেভাবেই Props পাঠাতে পারি।
Props এর মূল উদ্দেশ্য
Props ব্যবহার করে আমরা:
- Component-এর মধ্যে ডেটা শেয়ার করতে পারি।
- Component-কে কাস্টমাইজ করতে পারি।
- Functional Components-এ ডাইনামিক কন্টেন্ট যুক্ত করতে পারি।
Props পাঠানোর উদাহরণ
ব্যাখ্যা
- উপরের উদাহরণে,
ProfileComponent থেকেAvatarComponent-এ দুটি prop পাঠানো হচ্ছে:imgurlএবংsize।
ব্যাখ্যা
- এখানে
AvatarComponentpropsনামে একটি অবজেক্ট রিসিভ করছে, যা Parent Component থেকে প্রাপ্ত props ধারণ করে।
Props পাঠানোর এবং রিসিভ করার পদ্ধতি
Props ডিকন্সট্রাকচারিং পদ্ধতিতে রিসিভ করা
ডিকন্সট্রাকচারিং পদ্ধতি ব্যবহার করে আমরা সরাসরি props-কে ডিক্লেয়ার করতে পারি।
ব্যাখ্যা
- এখানে
{ imgurl, size }ডিকন্সট্রাকচারিং ব্যবহার করে সরাসরি props রিসিভ করা হয়েছে, যা কোডকে পরিষ্কার ও সহজ করে তোলে।
Props এ ডিফল্ট ভ্যালু ব্যবহার করা
কখনও কখনও Props এর ভ্যালু undefined আসতে পারে, তখন আমাদের ডিফল্ট ভ্যালু সেট করা প্রয়োজন হতে পারে।
ব্যাখ্যা
- এখানে
sizeএর ডিফল্ট ভ্যালু 100 সেট করা হয়েছে। যদিsizeপ্রদান করা না হয়, তাহলে এটি 100 ব্যবহার করবে।
JSX স্প্রেড সিনট্যাক্সের মাধ্যমে Props ফরওয়ার্ড করা
কখনও কখনও একটি Component-এ যে Props গুলো রিসিভ করা হয়েছে, সেগুলোকে অন্য Component-এ ফরওয়ার্ড করতে হতে পারে। এ জন্য আমরা JSX স্প্রেড সিনট্যাক্স {...props} ব্যবহার করতে পারি।
Step 3: Props ফরওয়ার্ড করা
ব্যাখ্যা
- এখানে
ProfileComponent থেকেCardComponent-এ সমস্ত props{...props}করে ফরওয়ার্ড করা হয়েছে, যা কোডকে আরও সংক্ষিপ্ত ও পরিষ্কার করে।
Children Props হিসেবে JSX বা Component পাঠানো
আমরা একটি Component-কে অন্য Component হিসেবে props হিসেবে পাঠাতে পারি। এটিকে children props বলা হয়।
Card Component
ব্যাখ্যা
- এখানে
CardComponent-এchildrenProps রিসিভ করা হয়েছে, যা Parent Component থেকে পাঠানোProfileComponent কে ধারণ করে।
Props are Immutable: কেন?
Props গুলো সরাসরি পরিবর্তন করা যায় না, কারণ props হলো immutable। Props কে শুধুমাত্র Parent Component থেকে State দ্বারা ম্যানেজ করতে হয়।
উদাহরণ
-
যদি কোন ইউজারের ইন্টারেকশনের মাধ্যমে
propsএর ভ্যালু পরিবর্তন করা প্রয়োজন হয়, তাহলে React নতুনPropsপাঠায়Child Component-এ। কিন্তু আগের পাঠানোpropsপরিবর্তন করে না। -
নতুন
Propsপাঠানোর পর আগেরPropsমেমরি থেকে মুছে ফেলা হয় বা গার্বেজ কালেক্ট করা হয়।
গুরুত্বপূর্ণ পয়েন্ট
- Props Immutable: কখনও
Child Componentএর ভিতরPropsএর ভ্যালু পরিবর্তন বা ওভাররাইড করা যাবে না। - State Management:
Stateব্যবহার করে ডেটা পরিবর্তন করতে হবে এবং তার মাধ্যমে নতুনPropsপাঠাতে হবে।
উপসংহার
Props হলো React-এ একটি শক্তিশালী কনসেপ্ট, যা Component-কে আরও ডাইনামিক এবং কাস্টমাইজ করতে সহায়তা করে। Props পাঠানো এবং রিসিভ করার সঠিক পদ্ধতি অনুসরণ করলে আপনার কোড হবে পরিষ্কার ও কার্যকরী। মনে রাখবেন, Props immutable, তাই ডেটার পরিবর্তনের জন্য State ব্যবহারের মাধ্যমে নতুন Props পাঠাতে হবে।