App Router で、layout と page は既定でどちら側のコンポーネントですか。
Server Component です。App Router では layout と page が既定でこれになり、宣言は要りません。宣言が必要なのは、既定から外れてクライアント側にするときだけです。
面接官が見ているのは「既定は Server Component」を知らないと、設計の出発点を間違える。
よくある答えと、面談でどう見られるか
- Server Component。宣言は不要で、それが既定
既定から外れるときだけ宣言が要ります。 - Client Component。ブラウザで動くのが基本だから
逆です。既定はサーバー側で、必要なときにクライアントへ寄せます。 - どちらでもなく、ビルド時に自動で判定される
自動判定ではありません。既定が Server で、宣言で切り替えます。 - Server Component だが、'use server' と書く必要がある
既定なので宣言は不要です。'use server' は別の役割(後述)を持ちます。
模範解答
Server Component です。App Router では layout と page が既定でこれになります。宣言は要りません。宣言が必要なのは、既定から外れるときだけです。
Server Component はサーバー側だけで実行され、そのコンポーネントのJSはブラウザに送られません。DBやAPIキーに直接触れますし、送るJSが減ります。代わりに useState のような状態も onClick のようなイベントハンドラも使えません。