Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.libs é o namespace unificado para as bibliotecas integradas no RunJS, contendo bibliotecas comumente usadas como React, Ant Design, dayjs e lodash. Não é necessário import ou carregamento assíncrono; elas podem ser usadas diretamente via ctx.libs.xxx.
| Cenário | Descrição |
|---|---|
| JSBlock / JSField / JSItem / JSColumn | Use React + Ant Design para renderizar UI, dayjs para manipulação de datas e lodash para processamento de dados. |
| Fórmula / Cálculo | Use formula ou math para fórmulas estilo Excel e operações de expressões matemáticas. |
| Fluxo de trabalho / Regras de vinculação | Chame bibliotecas de utilitários como lodash, dayjs e formula em cenários de lógica pura. |
| Propriedade | Descrição | Documentação |
|---|---|---|
ctx.libs.React | Core do React, usado para JSX e Hooks | React |
ctx.libs.ReactDOM | API de cliente do ReactDOM (incluindo createRoot), usada com React para renderização | React DOM |
ctx.libs.antd | Biblioteca de componentes Ant Design (Button, Card, Table, Form, Input, Modal, etc.) | Ant Design |
ctx.libs.antdIcons | Biblioteca de ícones do Ant Design (ex: PlusOutlined, UserOutlined) | @ant-design/icons |
ctx.libs.dayjs | Biblioteca de utilitários de data e hora | dayjs |
ctx.libs.lodash | Biblioteca de utilitários (get, set, debounce, etc.) | Lodash |
ctx.libs.formula | Biblioteca de funções de fórmula estilo Excel (SUM, AVERAGE, IF, etc.) | Formula.js |
ctx.libs.math | Biblioteca de expressões matemáticas e cálculos | Math.js |
Para compatibilidade com códigos legados, algumas bibliotecas também estão expostas no nível superior: ctx.React, ctx.ReactDOM, ctx.antd e ctx.dayjs. Recomenda-se usar consistentemente ctx.libs.xxx para facilitar a manutenção e a busca na documentação.
lodash, formula e math utilizam carregamento preguiçoso: um import dinâmico é acionado apenas quando ctx.libs.lodash é acessado pela primeira vez, e o cache é reutilizado posteriormente. React, antd, dayjs e antdIcons são pré-configurados pelo contexto e estão disponíveis imediatamente.
ctx.importAsync('react@19'), o JSX usará essa instância. Nesse caso, não misture com ctx.libs.antd. O Ant Design deve ser carregado para corresponder a essa versão do React (ex: ctx.importAsync('antd@5.x'), ctx.importAsync('@ant-design/icons@5.x')).ctx.libs.React ou chamar Hooks, execute await ctx.importAsync('react@versão') primeiro para garantir que a mesma instância do React seja compartilhada com a página.