ctx.render()
React 要素、HTML 文字列、または DOM ノードを、指定されたコンテナにレンダリングします。container を指定しない場合は、デフォルトで ctx.element にレンダリングされ、アプリケーションの ConfigProvider やテーマなどのコンテキストを自動的に継承します。
適用シーン
注意:
ctx.render()にはレンダリング先のコンテナが必要です。containerが渡されず、かつctx.elementが存在しない場合(UI のない純粋なロジックのみのシーンなど)、エラーがスローされます。
型定義
戻り値:
- React 要素 をレンダリングする場合:
ReactDOMClient.Rootを返します。 これにより、後続のroot.render()を呼び出して更新することが容易になります。 - HTML 文字列 または DOM ノード をレンダリングする場合:
nullを返します。
vnode 型の説明
示例
React 要素(JSX)をレンダリングする
HTML 文字列をレンダリングする
DOM ノードをレンダリングする
カスタムコンテナを指定する
複数回の呼び出しは内容を置き換える
注意事項
- 呼び出しのたびに内容が置き換わる:
ctx.render()を呼び出すたびに、コンテナ内の既存の内容は置き換えられ、追加はされません。 - HTML 文字列の安全性:渡された HTML は DOMPurify によって洗浄され、XSS リスクを低減しますが、信頼できないユーザー入力を直接結合することは避けることを推奨します。
- ctx.element を直接操作しない:
ctx.element.innerHTMLは非推奨です。統一してctx.render()を使用してください。 - コンテナがない場合は container を渡す:
ctx.elementがundefinedになるシーン(ctx.importAsyncでロードされたモジュール内など)では、明示的にcontainerを渡す必要があります。
関連情報
- ctx.element - デフォルトのレンダリングコンテナ。
ctx.render()に container が渡されない場合に使用されます。 - ctx.libs - React や antd などの組み込みライブラリ。JSX レンダリングに使用します。
- ctx.importAsync() - 外部の React/コンポーネントライブラリをオンデマンドでロードした後、
ctx.render()と組み合わせて使用します。

