यह दस्तावेज़ AI द्वारा अनुवादित है। सटीक जानकारी के लिए कृपया अंग्रेज़ी संस्करण देखें।
RunJS JSX सिंटैक्स का समर्थन करता है, जिससे आप React घटकों (components) की तरह कोड लिख सकते हैं। JSX निष्पादन (execution) से पहले स्वचालित रूप से संकलित (compile) हो जाता है।
ctx.libs.React.createElement और ctx.libs.React.Fragment में संकलित किया जाता है।ctx.libs.React का उपयोग करेगा।ctx.importAsync('react@x.x.x') के माध्यम से बाहरी React लोड किया जाता है, तो JSX उस विशिष्ट इंस्टेंस के createElement मेथड का उपयोग करने लगेगा।RunJS में React और सामान्य UI लाइब्रेरी पहले से मौजूद (built-in) हैं। आप import का उपयोग किए बिना सीधे ctx.libs के माध्यम से उनका उपयोग कर सकते हैं:
createRoot के साथ उपयोग किया जा सकता है)सीधे JSX लिखते समय, आपको React को डिस्ट्रक्चर (destructure) करने की आवश्यकता नहीं है; केवल Hooks (जैसे useState, useEffect) या Fragment (<>...</>) का उपयोग करते समय ही आपको ctx.libs से डिस्ट्रक्चर करने की आवश्यकता होती है:
ध्यान दें: बिल्ट-इन React और ctx.importAsync() के माध्यम से इम्पोर्ट किए गए बाहरी React को एक साथ मिलाया नहीं जा सकता। यदि आप किसी बाहरी UI लाइब्रेरी का उपयोग करते हैं, तो React को भी उसी बाहरी स्रोत से इम्पोर्ट किया जाना चाहिए।
जब ctx.importAsync() के माध्यम से React और UI लाइब्रेरी के किसी विशिष्ट संस्करण को लोड किया जाता है, तो JSX उस React इंस्टेंस का उपयोग करेगा:
यदि antd, react/react-dom पर निर्भर है, तो आप कई इंस्टेंस से बचने के लिए deps के माध्यम से वही संस्करण निर्दिष्ट कर सकते हैं:
ध्यान दें: बाहरी React का उपयोग करते समय, antd जैसी UI लाइब्रेरी को भी ctx.importAsync() के माध्यम से इम्पोर्ट किया जाना चाहिए। उन्हें ctx.libs.antd के साथ न मिलाएँ।
<Button type="primary">टेक्स्ट</Button><>...</> या <React.Fragment>...</React.Fragment> (Fragment का उपयोग करते समय const { React } = ctx.libs को डिस्ट्रक्चर करना आवश्यक है){expression} का उपयोग करें, जैसे {ctx.user.name} या {count + 1}; {{ }} टेम्पलेट सिंटैक्स का उपयोग न करें।{flag && <span>सामग्री</span>} या {flag ? <A /> : <B />}array.map() का उपयोग करें, और सुनिश्चित करें कि प्रत्येक तत्व की एक स्थिर key हो।