Delar av webbplatsen i komponenter i NextJS

I föregående lektion skrev vi texten för delar av webbplatsen direkt i layoutfilen:

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

Detta kan dock vara obekvämt i de fall där delar av webbplatsen innehåller mycket kod och text. Därför placerar man vanligtvis delar av webbplatsen i separata komponentfiler.

Låt oss som exempel flytta ut webbplatsens header till en separat komponent. Vi skapar en motsvarande fil:

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

Importera vår komponent i layoutfilen:

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

export default function RootLayout({children}) {
  
}

Låt oss visa texten från vår komponent med hjälp av en tagg med dess namn:

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

Skapa separata komponenter för webbplatsens header och footer.