IT-Q

括弧付きのフォルダ、たとえば (marketing) は何のためにありますか。

URLに影響を与えずにフォルダの区切りだけを作る仕組みです。レイアウトや loading の適用範囲を絞る用途と、URLを変えずにコードを整理する用途で使われます。

面接官が見ているのはルートグループの用途を言えるか。

これは「app ディレクトリの中にコンポーネントやテスト用のファイルを置いても、URL として公開されてしまいませんか。」への追撃質問です。

よくある答えと、面談でどう見られるか

  • URL に現れないフォルダ。レイアウトや loading の適用範囲を区切るために使う
    整理のためだけでなく、規約の適用範囲を制御できる点が本質です。
  • 整理のためのフォルダで、機能上の意味はない
    整理にも使いますが、それだけではありません。グループごとに別のレイアウトを当てられるのが大きな用途です。
  • 非公開のフォルダで、外からアクセスできなくなる
    それはアンダースコアを付けるプライベートフォルダの説明に近いです。括弧付きは URL から消えるだけで、中の page は普通に公開されます。
  • 動的ルートの一種
    動的ルートは角括弧です。括弧の種類で役割が違います。

面接官は何を見ているか

  • URL に現れないと答えた
  • レイアウトや loading の適用範囲を区切る用途を挙げた
  • 整理のためだけではないと理解している

模範解答

URL に影響を与えずに、フォルダの区切りだけを作るための仕組みです。(marketing) というフォルダは URL のパスに現れません。

用途は主に2つです。1つは、レイアウトや loading.tsx の適用範囲を絞ること。URL 構造を変えずに「このグループにだけこのレイアウト」ができます。もう1つは、単純に大量のルートを整理することです。

応用として、トップの layout.tsx を外して各グループに layout.tsx を置くと、セクションごとにまったく別のルートレイアウトを持てます。マーケティングページとアプリ本体でヘッダーも何も共有しない、という構成が作れます。