メインコンテンツまでスキップ

Route Groups

appディレクトリ内では、ネストされたフォルダは通常、URLパスにマッピングされます。しかし、フォルダをRoute Groupとしてマークすることで、そのフォルダがルートのURLパスに含まれないようにすることができます。

これにより、URLパスの構造に影響を与えることなく、ルートセグメントやプロジェクトファイルを論理的なグループに整理することができます。

Route Groupsは以下の用途に役立ちます:

  • サイトのセクション、意図、チームごとにルートをグループ化する
  • 同じルートセグメントレベルでネストされたレイアウトを有効にする:
    • 同じセグメント内で複数のネストされたレイアウトを作成する(複数のroot レイアウトを含む)
    • 特定のセグメントをレイアウトに選択する
  • 特定のルートでローディングスケルトンを選択する

規約

Route Groupは、フォルダ名を括弧で囲むことで作成できます: (folderName)

Good to know:

  • Route Groupの命名は、組織化以外に特別な意味を持ちません。URLパスには影響を与えません。
  • Route Groupを含むルートは、他のルートと同じURLパスに解決されるべきではありません。たとえば、Route GroupはURL構造に影響を与えないため、(marketing)/about/page.js(shop)/about/page.jsはどちらも/aboutに解決され、エラーが発生します。
  • トップレベルのlayout.jsファイルを使用せずに複数のroot レイアウトを使用する場合、ホームのpage.jsファイルはRoute Groupの1つに定義する必要があります。例:app/(marketing)/page.js
  • 複数のroot レイアウトをまたいでナビゲートすると、フルページロードが発生します(クライアントサイドのナビゲーションとは異なります)。たとえば、app/(shop)/layout.jsを使用する/cartからapp/(marketing)/layout.jsを使用する/blogにナビゲートすると、フルページロードが発生します。これは複数のroot レイアウトにのみ適用されます。