Onderdelen van de website in componenten in NextJS

In de vorige les schreven we de tekst van de website-onderdelen rechtstreeks in het lay-outbestand:

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

Dit kan echter onhandig zijn in het geval dat de website-onderdelen veel code en tekst bevatten. Daarom worden website-onderdelen meestal ondergebracht in aparte componentbestanden.

Laten we als voorbeeld de header van de website in een aparte component plaatsen. Laten we het bijbehorende bestand maken:

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

Importeren we onze component in het lay-outbestand:

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

export default function RootLayout({children}) {
  
}

Laten we de tekst van onze component weergeven met behulp van de tag met zijn naam:

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

Maak aparte componenten voor de header en footer van de website.