⊗jsnxPmLtNL 42 of 57 menu

Sisäkkäiset asettelut NextJS:ssä

Kuten tiedät, kansiossa /app tiedostossa /layout.jsx sijaitsee sivuston pääasettelu.

Haluttaessa voidaan kuitenkin sisäkkäisissä kansioissa luoda omia asetteluja. Tällöin sivun sisältö lisätään ensin sisäkkäiseen asetteluun, ja saatava tulos lisätään sitten pääasetteluun.

Kokeillaan käytännössä. Olkoon pääasettelumme seuraavan näköinen:

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

Tehdään toinen, sisäkkäinen asettelu kaikille sisällöille kansiosta /users:

export default function UsersLayout({children}) { return ( <div className="info"> viesti kaikille käyttäjille </div> <div className="content"> {children} </div> ); }

Kuten näet, tässä asettelussa emme määritä sivun perustageja, koska ne ovat jo sivustomme pääasettelussa.

Tehdään myös tiedosto käyttäjän näyttämisen sisällölle:

export default function User() { return <> <h1>Käyttäjä</h1> <p> käyttäjän kuvaus </p> </>; }

Näiden toimenpiteiden jälkeen tiedostorakenteemme näyttää tältä:

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

Nyt, jos siirrytään vastaavaan URL-osoitteeseen, NextJS kokoaa kaiken yhteen ja selaimessa saamme seuraavan lopullisen HTML-koodin:

<html lang="en"> <body> <header> header </header> <main> <div class="info"> viesti kaikille käyttäjille </div> <h1>Käyttäjä</h1> <p> käyttäjän kuvaus </p> </main> <footer> footer </footer> </body> </html>

Tee sivustolle osio käyttäjille ja osio julkaisuille. Tee kumpaankin osioon oma asettelu, joka perii sivuston pääasettelusta.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää