מסמך זה תורגם על ידי AI. למידע מדויק, אנא עיינו בגרסה באנגלית.
RunJS תומך בתחביר JSX, המאפשר לכתוב קוד בדומה לרכיבי React. ה-JSX מקומפל באופן אוטומטי לפני הביצוע.
ctx.libs.React.createElement ול-ctx.libs.React.Fragment.ctx.libs.React לאחר הקומפילציה.ctx.importAsync('react@x.x.x'), ה-JSX יעבור להשתמש במתודה createElement של אותו מופע ספציפי.RunJS כולל את React וספריות UI נפוצות מובנות. ניתן לגשת אליהן ישירות דרך ctx.libs ללא צורך ב-import:
createRoot במידת הצורך)בעת כתיבת JSX ישירות, אין צורך לבצע Destructuring ל-React. יש צורך ב-Destructuring מתוך ctx.libs רק בעת שימוש ב-Hooks (כגון useState, useEffect) או ב-Fragment (<>...</>):
הערה: לא ניתן לערבב בין React המובנה לבין React חיצוני המיובא באמצעות ctx.importAsync(). אם משתמשים בספריית UI חיצונית, יש לייבא גם את React מאותו מקור חיצוני.
בעת טעינת גרסה ספציפית של React וספריות UI באמצעות ctx.importAsync(), ה-JSX ישתמש במופע ה-React הזה:
אם antd תלוי ב-react/react-dom, ניתן לציין את אותה הגרסה דרך deps כדי למנוע מופעים מרובים:
הערה: בעת שימוש ב-React חיצוני, יש לייבא גם ספריות UI כמו antd באמצעות ctx.importAsync(). אין לערבב אותן עם ctx.libs.antd.
<Button type="primary">טקסט</Button><>...</> או <React.Fragment>...</React.Fragment> (דורש ביצוע Destructuring ל-const { React } = ctx.libs בעת השימוש ב-Fragment).{expression} בתוך JSX כדי להזין משתנים או פעולות, כגון {ctx.user.name} או {count + 1}. אין להשתמש בתחביר תבנית של {{ }}.{flag && <span>תוכן</span>} או {flag ? <A /> : <B />}.array.map() כדי להחזיר רשימת אלמנטים, וודאו שלכל אלמנט יש key יציב.