⊗jsnxPmLtNL 42 of 57 menu

NextJSでのネストされたレイアウト

ご存知のように、 /app フォルダ内の /layout.jsx ファイルには サイトのメインレイアウトが配置されています。

必要に応じて、ネストされた フォルダ内に独自のレイアウトを作成することもできます。 この場合、ページコンテンツは まずネストされたレイアウトに挿入され、 次に結果として得られたものが メインレイアウトに挿入されます。

実際に試してみましょう。 私たちのメインレイアウトが 次のようになっているとします:

export default function RootLayout({children}) { return ( <html lang="en"> <body> <header> header </header> <main> {children} </main> <footer> footer </footer> </body> </html> ); }

/users フォルダ内の すべてのコンテンツ用にもう一つ、 ネストされたレイアウトを作成しましょう:

export default function UsersLayout({children}) { return ( <div className="info"> message for all users </div> <div className="content"> {children} </div> ); }

ご覧の通り、このレイアウトでは ページの主要タグを指定していません。 なぜなら、それらはすでにサイトのメインレイアウトにあるからです。

ユーザーを表示するための コンテンツファイルも作成しましょう:

export default function User() { return <> <h1>User</h1> <p> user description </p> </>; }

これらの操作の後、私たちのファイル 構造は次のようになります:

  • /app/
    • layout.jsx
    • /users/
      • layout.jsx
      • /show/
        • page.jsx

これで、対応するURLにアクセスすると、 NextJSがすべてをまとめ、ブラウザでは 次の最終的なHTMLコードが得られます:

<html lang="en"> <body> <header> header </header> <main> <div class="info"> message for all users </div> <h1>User</h1> <p> user description </p> </main> <footer> footer </footer> </body> </html>

サイトにユーザーセクションと 投稿セクションを作成してください。 各セクションに、サイトのメインレイアウトから 継承する独自のレイアウトを作成してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否