⊗jsnxPmLtNL 42 of 57 menu

Innestede layouter i NextJS

Som du vet, i mappen /app i filen /layout.jsx finner du hovedlayoutet for nettstedet.

Om ønskelig, kan du imidlertid opprette egne layouter i innestede mapper. I så fall vil sidens innhold først bli plassert i den innestede layouten, og deretter vil det resulterende resultatet blitt plassert i hovedlayoutet.

La oss prøve dette i praksis. Anta at hovedlayoutet vårt har følgende utseende:

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

La oss lage en til, innestet layout for alt innhold fra mappen /users:

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

Som du ser, spesifiserer vi ikke sidens grunnleggende tagger i denne layouten, siden de allerede finnes i hovedlayoutet vårt for nettstedet.

La oss også lage en fil med innhold for å vise en bruker:

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

Etter disse manipulasjonene vil vår filstruktur se slik ut:

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

Nå, hvis du går til den tilsvarende URL-en, vil NextJS sette alt sammen og i nettleseren vil vi få følgende endelige HTML-kode:

<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>

Opprett en seksjon for brukere og en seksjon for innlegg på nettstedet ditt. Lag din egen layout i hver seksjon som vil arve fra nettstedets hovedlayout.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis