このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
React Router に基づいたルーティングインスタンスです。RunJS 内でコードを使用してナビゲーションを行うために使用されます。通常、ctx.route や ctx.location と組み合わせて使用します。
| シーン | 説明 |
|---|---|
| JSBlock / JSField | ボタンクリック後に詳細ページ、一覧ページ、または外部リンクへ遷移する。 |
| 連動ルール / イベントフロー | 送信成功後に一覧や詳細へ navigate する、または遷移先ページに state を渡す。 |
| JSAction / イベント処理 | フォーム送信やリンククリックなどのロジック内でルート遷移を実行する。 |
| ビューナビゲーション | 内部ビュースタックの切り替え時に navigate を通じて URL を更新する。 |
注意:
ctx.routerは、ルーティングコンテキストが存在する RunJS 環境(ページ内の JSBlock、フローページ、イベントフローなど)でのみ利用可能です。純粋なバックエンドやルーティングのないコンテキスト(ワークフローなど)では、nullになる可能性があります。
Router は @remix-run/router に由来します。RunJS では、ctx.router.navigate() を通じて遷移、戻る、リフレッシュなどのナビゲーション操作を実現します。
ターゲットパスへの遷移、または「戻る」・「リフレッシュ」を実行します。
シグネチャ:
パラメータ:
to:ターゲットパス(string)、履歴の相対位置(number、例:-1 は戻る)、または null(現在のページをリフレッシュ)。options:オプション設定。
replace?: boolean:現在の履歴エントリを置き換えるかどうか(デフォルトは false で、新しいエントリを push します)。state?: any:遷移先ルートに渡す state。このデータは URL には表示されず、遷移先ページで ctx.location.state を介してアクセスできます。機密情報、一時的なデータ、または URL に含めるのが適切でない情報に適しています。| 用途 | 推奨される使い方 |
|---|---|
| ナビゲーション・遷移 | ctx.router.navigate(path) |
| 現在のパスの読み取り | ctx.route.pathname または ctx.location.pathname |
| 遷移時に渡された state の読み取り | ctx.location.state |
| ルートパラメータの読み取り | ctx.route.params |
ctx.router は「ナビゲーション動作」を担当し、ctx.route と ctx.location は「現在のルート状態」を担当します。
navigate(path) はデフォルトで新しい履歴エントリを push するため、ユーザーはブラウザの戻るボタンで戻ることができます。replace: true は新しいエントリを追加せずに現在の履歴を置き換えます。ログイン後のリダイレクトや送信成功後の遷移などに適しています。state 経由で渡されるデータは URL に表示されないため、機密データや一時的なデータに適しています。ctx.location.state からアクセスできます。state はブラウザの履歴に保存されるため、進む・戻る操作を行ってもアクセス可能です。state は失われます。state はこちらで読み取ります。