このドキュメントは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 などは**遅延読み込み(Lazy Loading)**を採用しています。最初に ctx.libs.lodash にアクセスしたときに動的インポート(dynamic 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 インスタンスを共有するようにしてください。