Parti del sito nei componenti in NextJS

Nella lezione precedente abbiamo scritto il testo delle parti del sito direttamente nel file di layout:

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

Tuttavia, questo potrebbe essere scomodo nel caso in cui le parti del sito contengano molto codice e testo. Pertanto, di solito le parti del sito vengono messe in file separati di componenti.

Ad esempio, mettiamo l'header del sito in un componente separato. Creiamo il file corrispondente:

comp/header/header.jsxexport default function Header() {
  return <>
    header
  </>;
}

Importiamo il nostro componente nel file con il layout:

app/layout.jsximport Header from '@/comp/header/header.jsx';

export default function RootLayout({children}) {
  
}

Visualizziamo il testo del nostro componente utilizzando il tag con il suo nome:

app/layout.jsximport Header from '@/comp/header/header.jsx';

export default function RootLayout({children}) {
  return (
    <html lang="en">
      <body>
        <header>
          <Header />
        </header>
        <main>
          {children}
        </main>
        <footer>
          footer
        </footer>
      </body>
    </html>
  );
}
Задание 1

Crea componenti separati per l'header e il footer del sito.