Dit document is vertaald door AI. Raadpleeg de Engelse versie voor nauwkeurige informatie.
RunJS ondersteunt JSX-syntaxis, waardoor u code kunt schrijven die vergelijkbaar is met React-componenten. JSX wordt automatisch gecompileerd vóór uitvoering.
ctx.libs.React.createElement en ctx.libs.React.Fragment.ctx.libs.React gebruikt.ctx.importAsync('react@x.x.x'), zal JSX overschakelen naar het gebruik van de createElement-methode van die specifieke instantie.RunJS bevat ingebouwde React en veelgebruikte UI-bibliotheken. U kunt deze direct benaderen via ctx.libs zonder import te gebruiken:
createRoot)Bij het direct schrijven van JSX hoeft u React niet te destructuren. U hoeft alleen te destructuren uit ctx.libs wanneer u Hooks (zoals useState, useEffect) of een Fragment (<>...</>) gebruikt:
Let op: Ingebouwde React en externe React die via ctx.importAsync() is geïmporteerd, kunnen niet worden gemengd. Als u een externe UI-bibliotheek gebruikt, moet React ook vanuit dezelfde externe bron worden geïmporteerd.
Bij het laden van een specifieke versie van React en UI-bibliotheken via ctx.importAsync(), zal JSX die React-instantie gebruiken:
Als antd afhankelijk is van react/react-dom, kunt u dezelfde versie opgeven via deps om meerdere instanties te voorkomen:
Let op: Bij gebruik van externe React moeten UI-bibliotheken zoals antd ook via ctx.importAsync() worden geïmporteerd. Meng deze niet met ctx.libs.antd.
<Button type="primary">Tekst</Button><>...</> of <React.Fragment>...</React.Fragment> (vereist destructuring van const { React } = ctx.libs bij gebruik van een Fragment){expressie} in JSX om variabelen of bewerkingen in te voegen, zoals {ctx.user.name} of {count + 1}. Gebruik geen {{ }} template-syntaxis.{flag && <span>Inhoud</span>} of {flag ? <A /> : <B />}array.map() om een lijst met elementen te retourneren en zorg ervoor dat elk element een stabiele key heeft.