Partes del sitio en componentes en NextJS
En la lección anterior escribimos el texto de las partes del sitio directamente en el archivo de diseño:
export default function RootLayout({children}) {
return (
<html lang="en">
<body>
<header>
header
</header>
<main>
{children}
</main>
<footer>
footer
</footer>
</body>
</html>
);
}
Sin embargo, esto puede ser inconveniente en el caso de que las partes del sitio contengan mucho código y texto. Por lo tanto, normalmente las partes del sitio se separan en archivos individuales de componentes.
Como ejemplo, separemos el encabezado del sitio en un componente independiente. Creemos el archivo correspondiente:
export default function Header() {
return <>
header
</>;
}
Importemos nuestro componente en el archivo de diseño:
import Header from '@/comp/header/header.jsx';
export default function RootLayout({children}) {
}
Mostremos el texto de nuestro componente usando la etiqueta con su nombre:
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>
);
}
Cree componentes separados para el encabezado y el pie de página del sitio.