AI翻訳通知
このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
ctx.libs
ctx.libs は RunJS 内蔵ライブラリの統一ネームスペースであり、React、Ant Design、dayjs、lodash などの常用ライブラリが含まれています。import や非同期読み込みは不要で、直接 ctx.libs.xxx を通じて使用できます。
適用シーン
内蔵ライブラリ一覧
トップレベルの別名
過去のコードとの互換性のため、一部のライブラリは 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 はコンテキストによってプリセットされており、すぐに利用可能です。
実行例
React と Ant Design によるレンダリング
Hooks の使用
アイコンの使用
dayjs による日付処理
lodash ツール関数
formula 公式計算
math 数学式
注意事項
- ctx.importAsync との混用:
ctx.importAsync('react@19')を通じて外部の React を読み込んだ場合、JSX はそのインスタンスを使用します。この際、ctx.libs.antdと混用しないでください。antd はその React バージョンに対応したものを読み込む必要があります(例:ctx.importAsync('antd@5.x')、ctx.importAsync('@ant-design/icons@5.x'))。 - 複数の React インスタンス: "Invalid hook call" が発生したり、hook dispatcher が null になったりする場合、通常は複数の React インスタンスが原因です。
ctx.libs.Reactの読み込みや Hooks の呼び出し前に、まずawait ctx.importAsync('react@バージョン')を実行して、ページと同一の React インスタンスを共有するようにしてください。
関連情報
- ctx.importAsync() - 外部 ESM モジュールのオンデマンド読み込み(特定バージョンの React、Vue など)
- ctx.render() - コンテナへのコンテンツのレンダリング

