Части сайта в компонентах в NextJS
В предыдущем уроке мы писали текст частей сайта прямо в файле макета:
export default function RootLayout({children}) {
return (
<html lang="en">
<body>
<header>
header
</header>
<main>
{children}
</main>
<footer>
footer
</footer>
</body>
</html>
);
}
Это, однако, может быть неудобным в том случае, когда части сайта содержат много кода и текста. Поэтому обычно части сайта выносят в отдельные файлы копонентов.
Давайте для примера вынесем хедер сайта в отдельный компонент. Сделаем соответствующий файл:
export default function Header() {
return <>
header
</>;
}
Импортируем наш компонент в файле с макетом:
import Header from '@/comp/header/header.jsx';
export default function RootLayout({children}) {
}
Выведем текст нашего компонента с помощью тега с его именем:
import 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>
);
}
Сделайте отдельные компоненты с хедером и футером сайта.