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

サイトのヘッダーとフッターの 個別のコンポーネントを作成してください。