⊗jsnxPmLtNL 42 of 57 menu

Layout Nidificati in NextJS

Come sai, nella cartella /app nel file /layout.jsx si trova il layout principale del sito.

Tuttavia, se lo si desidera, nelle cartelle nidificate è possibile creare layout propri. In questo caso, il contenuto della pagina verrà prima inserito nel layout nidificato, e poi il risultato ottenuto verrà inserito nel layout principale.

Proviamo nella pratica. Supponiamo che il nostro layout principale abbia il seguente aspetto:

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

Creiamo un altro layout nidificato per tutti i contenuti della cartella /users:

export default function UsersLayout({children}) { return ( <div className="info"> messaggio per tutti gli utenti </div> <div className="content"> {children} </div> ); }

Come puoi vedere, in questo layout non specifichiamo i tag principali della pagina, poiché sono già presenti nel nostro layout principale del sito.

Creiamo anche un file con il contenuto per visualizzare l'utente:

export default function User() { return <> <h1>Utente</h1> <p> descrizione utente </p> </>; }

Dopo queste manipolazioni, la nostra struttura dei file diventerà così:

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

Ora, se si accede all'URL corrispondente, NextJS metterà tutto insieme e nel browser otterremo il seguente codice HTML finale:

<html lang="en"> <body> <header> header </header> <main> <div class="info"> messaggio per tutti gli utenti </div> <h1>Utente</h1> <p> descrizione utente </p> </main> <footer> footer </footer> </body> </html>

Crea una sezione per gli utenti e una per i posti sul sito. Crea in ogni sezione un layout proprio, che erediterà dal layout principale del sito.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta