1.9 Conditional Rendering
Welcome to React Next Documentation Bangla
কন্ডিশনাল রেন্ডারিং কি?
React-এ কন্ডিশনাল রেন্ডারিং হল এমন একটি প্রক্রিয়া যেখানে আমরা UI-কে শর্তের ভিত্তিতে পরিবর্তন করতে পারি। এর মাধ্যমে আমরা নির্ধারণ করতে পারি কোন কন্টেন্ট প্রদর্শিত হবে এবং কোনটি গোপন থাকবে। কন্ডিশনাল রেন্ডারিং ব্যবহার করে আমরা বিভিন্ন শর্ত অনুযায়ী ভিন্ন ভিন্ন UI উপাদান রেন্ডার করতে পারি। এই প্রক্রিয়া আমাদের অ্যাপ্লিকেশনের ইন্টারেকটিভিটি ও ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
কন্ডিশনাল রেন্ডারিংয়ের পদ্ধতিসমূহ
React-এ কন্ডিশনাল রেন্ডারিং করার কয়েকটি সাধারণ পদ্ধতি রয়েছে:
if else statementsTernary OperatorLogical AND OperatorLogical OR OperatorNullish Coalescing Operator
১. if else statements
যদি আমাদের কন্ডিশনাল লজিক বেশ জটিল হয়, তাহলে if else statements ব্যবহার করা একটি কার্যকর পন্থা। এই পদ্ধতিতে, আমাদের JSX এর বাইরে শর্তগুলো সংজ্ঞায়িত করতে হয়।
উদাহরণ:
ব্যাখ্যা:
- এখানে,
Itemকম্পোনেন্টেisPackedপ্রপার্টির ভিত্তিতে আমরা ভিন্ন ভিন্ন কন্টেন্ট রেন্ডার করছি।ifশর্তটি সত্য হলে একটি চিহ্নসহ কন্টেন্ট দেখানো হচ্ছে, অন্যথায় শুধুমাত্র নাম প্রদর্শিত হচ্ছে। - এই পদ্ধতিটি বিশেষ করে তখন উপকারী যখন আমাদের শর্তগুলি বেশ জটিল হয় এবং সেগুলি ক্লিনভাবে সংজ্ঞায়িত করতে
ifএবংelseব্যবহারের প্রয়োজন হয়।
২. Ternary Operator
যদি শর্তটি সরল হয় এবং আমরা শর্তের ফলাফল দুইটি ভিন্ন কন্টেন্টের মধ্যে ভাগ করতে চাই, তখন Ternary Operator ব্যবহার করে আমরা JSX এর ভিতরে কন্ডিশনাল রেন্ডারিং করতে পারি।
উদাহরণ:
ব্যাখ্যা:
- এখানে,
isPackedযদি সত্য হয়, তাহলে কন্টেন্টে চিহ্ন যুক্ত হয়ে নাম প্রদর্শিত হবে, অন্যথায় শুধুমাত্র নাম প্রদর্শিত হবে। Ternary Operatorব্যবহারের সময় খেয়াল রাখতে হবে যে, এটি এক লাইনে রেন্ডারিং করার জন্য খুবই কার্যকর, তবে খুব বেশি শর্তে এটির ব্যবহার কমানো উচিত যাতে কোডটি পরিষ্কার থাকে।
৩. Logical AND Operator
যদি আমাদের শর্ত থাকে যে, যদি কন্ডিশন সত্য হয় তাহলে কিছু রেন্ডার করব, অন্যথায় কিছুই রেন্ডার করব না, তাহলে && - Logical AND Operator ব্যবহার করা যেতে পারে।
উদাহরণ:
ব্যাখ্যা:
- এখানে, যদি
isPackedসত্য হয়, তাহলে "✅" রেন্ডার হবে, অন্যথায় কিছুই রেন্ডার হবে না। &&অপারেটরের একটি গুরুত্বপূর্ণ দিক হলো এটি কেবলমাত্র তখন রেন্ডার করে যখন এর বাম পাশেtruthyমান থাকে। যদি বাম পাশের মানfalsyহয়, তাহলে কিছুই রেন্ডার হবে না।
৪. Logical OR Operator
|| - Logical OR Operator ব্যবহার করেও কন্ডিশনাল রেন্ডারিং করা যায়। এটি মূলত একটি ডিফল্ট মান প্রদান করার জন্য ব্যবহার করা হয়।
উদাহরণ:
ব্যাখ্যা:
- এখানে,
isPackedযদিfalseহয়, তখন "✅" রেন্ডার হবে। এটি একটি ভালো পদ্ধতি যখন আমরা চান যে একটি ডিফল্ট কন্টেন্ট প্রদর্শিত হবে যখন শর্তটি সত্য নয়। - তবে খেয়াল রাখতে হবে যে,
||ব্যবহার করার সময়falsyমানগুলোর (যেমন0,false,"") সাথে মানসিক মিশ্রণ ঘটাতে পারে, তাই এটি ব্যবহারের সময় সাবধান থাকা উচিত।
৫. Nullish Coalescing Operator
যদি একটি ডাইনামিক ভ্যালু null অথবা undefined হয় এবং আমরা সেটার ভিত্তিতে কন্ডিশনাল রেন্ডারিং করতে চাই, তাহলে ?? - Nullish Coalescing Operator ব্যবহার করা যেতে পারে।
উদাহরণ:
ব্যাখ্যা:
- এখানে,
dataযদিnullঅথবাundefinedহয়, তাহলেnameএবংisPackedএর উপর ভিত্তি করে কন্টেন্ট রেন্ডার হবে। Nullish Coalescing Operatorসাধারণত ব্যবহার করা হয় যখন আমরা নিশ্চিত হতে চাই যে একটি পরিবর্তনশীল কেবল তখন রেন্ডার হবে যখন এটি প্রকৃতপক্ষে কোনো মান ধারণ করছে।
উপসংহার
React-এ কন্ডিশনাল রেন্ডারিং একটি গুরুত্বপূর্ণ প্রক্রিয়া যা UI-কে ডাইনামিক ও ইন্টারেকটিভ করার সুযোগ দেয়। বিভিন্ন পদ্ধতি ব্যবহার করে, আমরা শর্তগুলির ভিত্তিতে কন্টেন্ট রেন্ডার করতে পারি। সঠিক কন্ডিশনাল রেন্ডারিং পদ্ধতি নির্বাচন করে এবং শর্তগুলোকে কার্যকরভাবে ব্যবহার করে আমরা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করতে পারি।
সেরা অভ্যাস
- কন্ডিশনাল লজিক যতটা সম্ভব সহজ এবং পরিষ্কার রাখুন।
- কোডের পুনরাবৃত্তি কমাতে চেষ্টা করুন।
- কমপ্লেক্স কন্ডিশনাল লজিকের জন্য
if-elseব্লক ব্যবহার করুন। Ternary Operatorএবং&&অপারেটর ব্যবহার করার সময় কোডের পাঠযোগ্যতা বজায় রাখতে সতর্ক থাকুন।- ডিফল্ট ভ্যালু প্রদানের জন্য
??এবং||ব্যবহার করার সময় স্পষ্টভাবে জানুন যে আপনার কন্ডিশনাল লজিকের ফলাফল কী হবে।