正解: 共通layoutは配下の遷移で維持されるため、サイドバー部分をClient ComponentにするApp Routerのlayout.tsxは、同じルートセグメント配下でページを移動しても再利用されます。そのため、サイドバーの開閉のようなUI状態は、layout内のClient Componentに持たせると自然に維持できます。補足: layout全体をClient Componentにするより、開閉ボタンやナビゲーション表示部分だけを小さくクライアント化する方が扱いやすいです。A. ページ遷移ごとにlayout.tsxは必ず破棄されるため状態保持はできない: App Routerのlayoutは配下遷移で維持されるのが特徴です。B. 状態を保つにはすべてのページを同じpage.tsxにまとめる必要がある: ルーティング構造を壊す必要はありません。C. 共通layoutは配下の遷移で維持されるため、サイドバー部分をClient Componentにする: これが正解です。D. サイドバーの開閉状態はgenerateStaticParamsで事前生成する: generateStaticParamsは動的ルートの静的生成用で、UI状態管理には使いません。
教科書へ直接移動
読みたい分野を選べます