ルーティング
ルートの設定
ルートは、URLセグメントをUI要素に結びつける <Routes>
と <Route>
をレンダリングすることで設定します。
以下は、より大きな設定例です。
ネストされたルート
ルートは、親ルートの中にネストすることができます。
親のパスは自動的に子に含まれるため、この設定では "/dashboard"
と "/dashboard/settings"
の両方のURLが作成されます。
子ルートは、親ルートの <Outlet/>
を通してレンダリングされます。
レイアウトルート
path
のない ルートは、子に対して新しいネストを作成しますが、URLにセグメントを追加しません。
インデックスルート
インデックスルートは、親のURLで親の <Outlet/>
にレンダリングされます(デフォルトの子ルートのように)。これらは index
プロパティで設定されます。
インデックスルートには子を持たせることができないことに注意してください。その動作を期待している場合は、おそらくレイアウトルートが必要でしょう。
ルートプレフィックス
element
プロパティ のない <Route path>
は、親レイアウトを導入することなく、子ルートにパスプレフィックスを追加します。
動的セグメント
パスセグメントが :
で始まる場合、それは「動的セグメント」になります。ルートがURLに一致すると、動的セグメントはURLから解析され、useParams
のような他のルーターAPIに params
として提供されます。
1つのルートパスに複数の動的セグメントを含めることができます。
特定のパス内のすべての動的セグメントが一意であることを確認する必要があります。そうしないと、params
オブジェクトが設定されるにつれて、後続の動的セグメントの値が以前の値を上書きします。
オプションセグメント
セグメントの末尾に ?
を追加することで、ルートセグメントをオプションにすることができます。
オプションの静的セグメントも使用できます。
スプラット
「キャッチオール」または「スター」セグメントとも呼ばれます。ルートパスパターンが /*
で終わる場合、他の /
文字を含む、/
に続く任意の文字に一致します。
*
を分割代入できますが、新しい名前を割り当てる必要があります。一般的な名前は splat
です。
リンク
Link
と NavLink
を使用して、UIからルートにリンクします。