স্থির পৃষ্ঠাগুলি তৈরি করা প্রতিক্রিয়ার প্রত্যাশিত ব্যবহার, যার জন্য ডকুমেন্টেশনে উল্লিখিত হয়েছে React.renderToStaticMarkup
অনুরূপ renderToString
, এটি অতিরিক্ত DOM বৈশিষ্ট্য যেমন তৈরি করে না data-react-id
, যা প্রতিক্রিয়া অভ্যন্তরীণভাবে ব্যবহার করে। যদি আপনি প্রতিক্রিয়াটিকে একটি সাধারণ স্ট্যাটিক পৃষ্ঠা জেনারেটর হিসাবে ব্যবহার করতে চান তবে এটি দরকারী যদি অতিরিক্ত বৈশিষ্ট্যগুলি সরিয়ে ফেললে প্রচুর বাইট সংরক্ষণ করতে পারে।
কেউ কেউ এখানে ওভারকিল প্রতিক্রিয়া ব্যবহার বলে অভিহিত করেছেন। যাইহোক, আমি যখন কোনও মৃত চাই, আমার এটি অতিরিক্ত ওভার দিয়ে দেওয়ার কোনও সমস্যা নেই। এই ব্যবহারের ক্ষেত্রে প্রয়োজনীয়তা যেহেতু প্রতিক্রিয়ার চেয়ে বেশি কিছু করতে পারে তা প্রতিক্রিয়াটির বিরুদ্ধে কোনও যুক্তি নয়।
তবে, আপনি যদি অ্যাসিক্রোনাস কোড সম্পাদন করতে চান তবে সমস্যা দেখা দিতে পারে। আসুন নিম্নলিখিতগুলি কল্পনা করুন:
function SchoolClass({classId}) {
const students = await query("SELECT name FROM student WHERE class = ?", classId);
return <ul>
{_.map(students, ({name}) => <li>{name}</li>}
</ul>
}
তবে এটি কার্যকর হবে না, কারণ ফাংশনটি একটি প্রতিশ্রুতি দেয়, প্রতিক্রিয়া উপাদান নয়, এবং প্রতিক্রিয়াটির সাথে এটি উপযুক্ত নয়। যদি আপনি কোনও প্রতিক্রিয়া-স্টাইলের স্ট্যাটিক সাইট জেনারেটরের কাঠামো তৈরি করে থাকেন তবে আপনি সম্ভবত এটির অনুমতি দেবেন। তবে, যেহেতু প্রতিক্রিয়াটি ওয়েব অ্যাপ্লিকেশন ক্লায়েন্টগুলিতে ফোকাস করছে তাই এটি অনুমোদিত নয়।