馃З Creaci贸n de la primera p谩gina y componentes b谩sicos

Next.js — Creaci贸n de la primera p谩gina

馃З 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:

  1. 馃搧 C贸mo funcionan las p谩ginas en Next.js
  2. 馃彔 Personalizando la p谩gina principal (page.tsx)
  3. 馃啎 Creando una nueva p谩gina (about/page.tsx)
  4. 馃敆 Navegaci贸n entre p谩ginas con Link
  5. ⚙️ Creando un componente reutilizable (Header/Footer)
  6. 馃帹 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.

⚙️ 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
    

馃挕 Consejo: Crea siempre tus p谩ginas dentro de app/ y organiza tus componentes en una carpeta separada. Esto te ayudar谩 a mantener tu proyecto limpio y escalable.

Publicar un comentario

0 Comentarios