Teile der Website in Komponenten in NextJS

In der vorherigen Lektion haben wir den Text der Website-Teile direkt in der Layout-Datei geschrieben:

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

Dies kann jedoch unpraktisch sein, wenn die Website-Teile viel Code und Text enthalten. Daher werden Website-Teile normalerweise in separate Komponentendateien ausgelagert.

Lassen Sie uns als Beispiel den Header der Website in eine separate Komponente auslagern. Wir erstellen die entsprechende Datei:

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

Wir importieren unsere Komponente in der Layout-Datei:

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

export default function RootLayout({children}) {
  
}

Wir geben den Text unserer Komponente mit einem Tag mit ihrem Namen aus:

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

Erstellen Sie separate Komponenten für den Header und den Footer der Website.