Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
RunJS admite la sintaxis JSX, lo que le permite escribir código de forma similar a los componentes de React. JSX se compila automáticamente antes de la ejecución.
ctx.libs.React.createElement y ctx.libs.React.Fragment.ctx.libs.React después de la compilación.ctx.importAsync('react@x.x.x'), JSX cambiará para utilizar el método createElement de esa instancia específica.RunJS incluye React y librerías de UI comunes de forma integrada. Puede acceder a ellas directamente a través de ctx.libs sin necesidad de usar import:
createRoot si es necesario)Al escribir JSX directamente, no es necesario desestructurar React. Solo necesita desestructurarlo desde ctx.libs cuando utilice Hooks (como useState, useEffect) o Fragment (<>...</>):
Nota: El React integrado y el React externo importado a través de ctx.importAsync() no se pueden mezclar. Si utiliza una librería de UI externa, React también debe importarse desde la misma fuente externa.
Al cargar una versión específica de React y librerías de UI mediante ctx.importAsync(), JSX utilizará esa instancia de React:
Si antd depende de react/react-dom, puede especificar la misma versión a través de deps para evitar múltiples instancias:
Nota: Al usar un React externo, las librerías de UI como antd también deben importarse mediante ctx.importAsync(). No las mezcle con ctx.libs.antd.
<Button type="primary">Texto</Button><>...</> o <React.Fragment>...</React.Fragment> (requiere desestructurar const { React } = ctx.libs al usar Fragment){expresión} en JSX para insertar variables u operaciones, como {ctx.user.name} o {count + 1}. No utilice la sintaxis de plantilla {{ }}.{flag && <span>Contenido</span>} o {flag ? <A /> : <B />}array.map() para devolver una lista de elementos y asegúrese de que cada elemento tenga una key estable.