Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
O RunJS suporta a sintaxe JSX, permitindo que você escreva código de forma semelhante a componentes React. O JSX é compilado automaticamente antes da execução.
ctx.libs.React.createElement e ctx.libs.React.Fragment.ctx.libs.React após a compilação.ctx.importAsync('react@x.x.x'), o JSX passará a usar o método createElement dessa instância específica.O RunJS inclui o React e bibliotecas de UI comuns de forma integrada. Você pode acessá-los diretamente via ctx.libs sem usar import:
createRoot, se necessário)Ao escrever JSX diretamente, você não precisa desestruturar o React. Você só precisa desestruturar de ctx.libs ao usar Hooks (como useState, useEffect) ou Fragment (<>...</>):
Nota: O React integrado e o React externo importado via ctx.importAsync() não podem ser misturados. Se você usar uma biblioteca de UI externa, o React também deve ser importado da mesma fonte externa.
Ao carregar uma versão específica do React e de bibliotecas de UI via ctx.importAsync(), o JSX usará essa instância do React:
Se o antd depender de react/react-dom, você pode especificar a mesma versão via deps para evitar múltiplas instâncias:
Nota: Ao usar um React externo, bibliotecas de UI como o antd também devem ser importadas via ctx.importAsync(). Não as misture com ctx.libs.antd.
<Button type="primary">Texto</Button><>...</> ou <React.Fragment>...</React.Fragment> (requer a desestruturação de const { React } = ctx.libs ao usar Fragment){expressão} no JSX para inserir variáveis ou operações, como {ctx.user.name} ou {count + 1}. Não use a sintaxe de template {{ }}.{flag && <span>Conteúdo</span>} ou {flag ? <A /> : <B />}array.map() para retornar uma lista de elementos e garanta que cada elemento tenha uma key estável.