馃З Creaci贸n de la primera p谩gina y componentes b谩sicos
Aprende c贸mo crear tu primera p谩gina en Next.js y organiza tus componentes de manera profesional.
馃搶 脥ndice de esta entrada:
- 馃搧 C贸mo funcionan las p谩ginas en Next.js
- 馃彔 Personalizando la p谩gina principal (
page.tsx) - 馃啎 Creando una nueva p谩gina (
about/page.tsx) - 馃敆 Navegaci贸n entre p谩ginas con
Link - ⚙️ Creando un componente reutilizable (Header/Footer)
- 馃帹 Aplicando estilos con Tailwind CSS
馃搧 C贸mo funcionan las p谩ginas en Next.js
En Next.js, **cada carpeta dentro de app/ representa una ruta** de tu sitio web,
y el archivo page.tsx dentro de esa carpeta representa el contenido de esa p谩gina.
Por ejemplo:
app/
├── page.tsx → P谩gina principal (ruta "/")
└── about/
└── page.tsx → P谩gina "Acerca de" (ruta "/about")
As铆, crear p谩ginas nuevas es tan f谩cil como crear carpetas dentro de app/.
馃彔 Personalizando la p谩gina principal (page.tsx)
Abre el archivo app/page.tsx.
Por defecto tiene un c贸digo generado por create-next-app.
Borra su contenido y reempl谩zalo por lo siguiente:
export default function Home() {
return (
<main className="flex flex-col items-center justify-center min-h-screen">
<h1 className="text-4xl font-bold text-blue-600">
¡Bienvenido a mi Blog con Next.js!
</h1>
<p className="text-gray-600 mt-4">
Esta es tu primera p谩gina creada con Next.js 馃殌
</p>
</main>
);
}
Guarda los cambios y ejecuta el servidor:
npm run dev
Luego abre http://localhost:3000 y ver谩s tu primera p谩gina personalizada 馃帀
馃啎 Creando una nueva p谩gina (about/page.tsx)
Vamos a crear una nueva p谩gina llamada “Acerca de”.
Dentro de la carpeta app/, crea una subcarpeta llamada about
y dentro de ella un archivo page.tsx.
El resultado ser谩:
app/
├── page.tsx
└── about/
└── page.tsx
Escribe este c贸digo en about/page.tsx:
export default function About() {
return (
<main className="flex flex-col items-center justify-center min-h-screen">
<h1 className="text-3xl font-semibold text-blue-500">
Acerca de este Blog
</h1>
<p className="text-gray-600 mt-3 max-w-md text-center">
Este blog fue creado con Next.js como parte de nuestro curso pr谩ctico.
Aqu铆 aprender谩s a crear, renderizar y optimizar tu propio sitio paso a paso.
</p>
</main>
);
}
Ahora abre http://localhost:3000/about y ver谩s tu nueva p谩gina funcionando correctamente.
馃敆 Navegaci贸n entre p谩ginas con Link
Para navegar entre p谩ginas sin recargar el sitio, Next.js usa el componente Link del paquete next/link.
Edita tu app/page.tsx y agrega un enlace a la p谩gina “Acerca de”:
import Link from 'next/link';
export default function Home() {
return (
<main className="flex flex-col items-center justify-center min-h-screen">
<h1 className="text-4xl font-bold text-blue-600">
¡Bienvenido a mi Blog con Next.js!
</h1>
<Link href="/about" className="text-blue-500 underline mt-4">
Ir a la p谩gina Acerca de
</Link>
</main>
);
}
Ahora puedes navegar entre tus p谩ginas sin recargar la aplicaci贸n 馃挮.
⚙️ Creando un componente reutilizable
Vamos a crear un componente de encabezado para usar en todas las p谩ginas.
Dentro de app/, crea una carpeta llamada components
y dentro un archivo Header.tsx:
import Link from 'next/link';
export default function Header() {
return (
<header className="bg-blue-600 text-white p-4 text-center">
<h1 className="text-xl font-bold">Mi Blog con Next.js</h1>
<nav className="mt-2">
<Link href="/" className="mx-2 hover:underline">Inicio</Link>
<Link href="/about" className="mx-2 hover:underline">Acerca</Link>
</nav>
</header>
);
}
Ahora importa este componente en app/layout.tsx:
import './globals.css'
import Header from './components/Header'
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="es">
<body>
<Header />
{children}
</body>
</html>
);
}
¡Y listo! Ahora el encabezado aparecer谩 en todas tus p谩ginas 馃帀
馃帹 Aplicando estilos con Tailwind CSS
Si seleccionaste Tailwind CSS durante la creaci贸n del proyecto, puedes usar sus clases directamente como lo hemos hecho arriba. Si no lo hiciste, puedes agregarlo m谩s adelante con:
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
app/
y organiza tus componentes en una carpeta separada.
Esto te ayudar谩 a mantener tu proyecto limpio y escalable.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias