Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.libs es el espacio de nombres unificado para las librerías integradas en RunJS, que contiene librerías de uso común como React, Ant Design, dayjs y lodash. No se requiere import ni carga asíncrona; se pueden utilizar directamente a través de ctx.libs.xxx.
| Escenario | Descripción |
|---|---|
| JSBlock / JSField / JSItem / JSColumn | Utilice React + Ant Design para renderizar la interfaz de usuario, dayjs para el manejo de fechas y lodash para el procesamiento de datos. |
| Fórmula / Cálculo | Utilice formula o math para fórmulas similares a Excel y operaciones de expresiones matemáticas. |
| Flujo de trabajo / Reglas de vinculación | Invoque librerías de utilidades como lodash, dayjs y formula en escenarios de lógica pura. |
| Propiedad | Descripción | Documentación |
|---|---|---|
ctx.libs.React | Núcleo de React, utilizado para JSX y Hooks | React |
ctx.libs.ReactDOM | API de cliente de ReactDOM (incluyendo createRoot), se usa con React para el renderizado | React DOM |
ctx.libs.antd | Librería de componentes de Ant Design (Button, Card, Table, Form, Input, Modal, etc.) | Ant Design |
ctx.libs.antdIcons | Librería de iconos de Ant Design (ej. PlusOutlined, UserOutlined) | @ant-design/icons |
ctx.libs.dayjs | Librería de utilidades para fecha y hora | dayjs |
ctx.libs.lodash | Librería de utilidades (get, set, debounce, etc.) | Lodash |
ctx.libs.formula | Librería de funciones de fórmulas similares a Excel (SUM, AVERAGE, IF, etc.) | Formula.js |
ctx.libs.math | Librería de expresiones matemáticas y cálculos | Math.js |
Para mantener la compatibilidad con el código heredado, algunas librerías también están expuestas en el nivel superior: ctx.React, ctx.ReactDOM, ctx.antd y ctx.dayjs. Se recomienda utilizar de forma consistente ctx.libs.xxx para facilitar el mantenimiento y la búsqueda en la documentación.
lodash, formula y math utilizan carga perezosa: se activa una importación dinámica solo cuando se accede a ctx.libs.lodash por primera vez, y a partir de ahí se reutiliza la caché. React, antd, dayjs y antdIcons están preconfigurados por el contexto y están disponibles de inmediato.
ctx.importAsync('react@19'), JSX utilizará esa instancia. En este caso, no lo mezcle con ctx.libs.antd. Ant Design debe cargarse para que coincida con esa versión de React (ej. ctx.importAsync('antd@5.x'), ctx.importAsync('@ant-design/icons@5.x')).ctx.libs.React o llamar a Hooks, ejecute primero await ctx.importAsync('react@version') para asegurarse de que se comparta la misma instancia de React con la página.