स्थैतिक पृष्ठों को उत्पन्न करना रिएक्ट का प्रत्याशित उपयोग है, जैसा कि प्रलेखन में उल्लेख किया गया है React.renderToStaticMarkup
इसी के लिए renderToString
, इस को छोड़कर अतिरिक्त डोम का निर्माण नहीं करता इस तरह के गुण के रूप में 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>
}
लेकिन यह काम नहीं करेगा, क्योंकि फ़ंक्शन एक वादा तत्व देता है, न कि एक रिएक्ट एलिमेंट, और इस तरह रिएक्ट के साथ संगत नहीं है। यदि आप एक प्रतिक्रिया-शैली स्थैतिक साइट जनरेटर फ्रेमवर्क तैयार कर रहे हैं, तो आप शायद इसकी अनुमति देंगे। हालाँकि, चूंकि रिएक्ट वेबएप क्लाइंट्स पर केंद्रित है, इसलिए इसकी अनुमति नहीं है।