Router

概要

リファレンスドキュメント ↗

アプリの残りの部分にロケーションコンテキストを提供します。

注意: 通常、<Router> を直接レンダリングすることはありません。代わりに、Web ブラウザの BrowserRouter やサーバーレンダリングの ServerRouter など、環境に特化したルーターをレンダリングします。

シグネチャ

function Router({
  basename: basenameProp = "/",
  children = null,
  location: locationProp,
  navigationType = NavigationType.Pop,
  navigator,
  static: staticProp = false,
  unstable_useTransitions,
}: RouterProps): React.ReactElement | null

Props

basename

アプリケーションのベースパスです。すべてのロケーションの前に付加されます。

children

ルーティングツリーを記述するネストされた Route 要素。

location

マッチング対象のロケーションです。現在のロケーションがデフォルトです。文字列または Location オブジェクトのいずれかになります。

このロケーション変更をトリガーした navigation のタイプです。NavigationType.Pop がデフォルトです。

navigation に使用する navigator です。これは通常、history オブジェクト、または Navigator インターフェースを実装するカスタム navigator です。

static

このルーターが静的であるかどうか (SSR で使用されます)。true の場合、ルーターはロケーションの変更に反応しません。

unstable_useTransitions

router の state updates が内部的に React.startTransition でラップされるかどうかを制御します。

  • undefined のままの場合、すべての router の state updates は React.startTransition でラップされます。
  • true に設定すると、LinkForm の navigations は React.startTransition でラップされ、すべての router の state updates も React.startTransition でラップされます。
  • false に設定すると、router は navigations または state 変更のいずれにおいても React.startTransition を利用しません。

詳細については、ドキュメントを参照してください。