이 문서는 AI에 의해 번역되었습니다. 정확한 정보는 영어 버전을 참조하세요.
ctx.libs는 RunJS 내장 라이브러리의 통합 네임스페이스이며, React, Ant Design, dayjs, lodash 등 자주 사용되는 라이브러리를 포함하고 있습니다. import나 비동기 로드가 필요 없으며, ctx.libs.xxx를 통해 직접 사용할 수 있습니다.
| 시나리오 | 설명 |
|---|---|
| JSBlock / JSField / JSItem / JSColumn | React + Ant Design을 사용하여 UI를 렌더링하고, dayjs로 날짜를 처리하며, lodash로 데이터를 처리합니다. |
| 공식 / 계산 | formula 또는 math를 사용하여 Excel 스타일의 공식이나 수학 표현식을 연산합니다. |
| 이벤트 흐름 / 연동 규칙 | 순수 로직 시나리오에서 lodash, dayjs, formula 등의 유틸리티 라이브러리를 호출합니다. |
| 속성 | 설명 | 문서 |
|---|---|---|
ctx.libs.React | React 본체, JSX 및 Hooks 사용 시 필요 | React |
ctx.libs.ReactDOM | ReactDOM 클라이언트 API (createRoot 포함), React와 함께 렌더링 시 사용 | React DOM |
ctx.libs.antd | Ant Design 컴포넌트 라이브러리 (Button, Card, Table, Form, Input, Modal 등) | Ant Design |
ctx.libs.antdIcons | Ant Design 아이콘 라이브러리 (예: PlusOutlined, UserOutlined) | @ant-design/icons |
ctx.libs.dayjs | 날짜 및 시간 유틸리티 라이브러리 | dayjs |
ctx.libs.lodash | 유틸리티 라이브러리 (get, set, debounce 등) | Lodash |
ctx.libs.formula | Excel 스타일 공식 함수 라이브러리 (SUM, AVERAGE, IF 등) | Formula.js |
ctx.libs.math | 수학 표현식 및 계산 라이브러리 | Math.js |
기존 코드와의 호환성을 위해 일부 라이브러리는 ctx.React, ctx.ReactDOM, ctx.antd, ctx.dayjs와 같이 최상위 레벨에도 노출되어 있습니다. 유지보수 및 문서 검색의 편의를 위해 ctx.libs.xxx 형식을 통일해서 사용하는 것을 권장합니다.
lodash, formula, math 등은 지연 로딩 방식을 사용합니다. ctx.libs.lodash에 처음 접근할 때 동적 import가 발생하며, 이후에는 캐시된 인스턴스를 재사용합니다. React, antd, dayjs, antdIcons는 컨텍스트에 미리 설정되어 있어 즉시 사용할 수 있습니다.
ctx.importAsync('react@19')를 통해 외부 React를 로드한 경우, JSX는 해당 인스턴스를 사용합니다. 이때 ctx.libs.antd와 혼용하지 마십시오. antd는 해당 React 버전과 호환되는 버전을 함께 로드해야 합니다 (예: ctx.importAsync('antd@5.x'), ctx.importAsync('@ant-design/icons@5.x')).ctx.libs.React를 읽거나 Hooks를 호출하기 전에 await ctx.importAsync('react@버전')을 먼저 실행하여 페이지와 동일한 React 인스턴스를 공유하도록 하십시오.