Части на уебсайта в компоненти в NextJS

В предишния урок пишехме текста на частите на уебсайта директно във файла на оформлението:

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

Това обаче може да е неудобно в случаите, когато частите на уебсайта съдържат много код и текст. Затова обикновено частите на уебсайта се изнасят в отделни файлове на компоненти.

Нека за пример изнесем хедъра на уебсайта в отделен компонент. Нека създадем съответния файл:

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

Импортираме нашия компонент във файла с оформлението:

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

export default function RootLayout({children}) {
  
}

Нека изведем текста на нашия компонент чрез таг с неговото име:

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

Създайте отделни компоненти за хедъра и футъра на уебсайта.