Next.js ha revolucionado el desarrollo de React con sus potentes funciones y su diseño intuitivo. Con el lanzamiento de Next.js 13, el nuevo App Router ha tomado protagonismo, ofreciendo a los desarrolladores una forma más flexible y potente de estructurar sus aplicaciones. En esta guía completa, profundizaremos en App Router, explorando sus características y mejores prácticas. Para ilustrar estos conceptos, usaremos un ejemplo del mundo real: un proyecto de generación de cartas de presentación.
El App Router en Next.js 13 representa un cambio de paradigma en cómo abordamos el enrutamiento en las aplicaciones React. A diferencia del Pages Router anterior, el App Router utiliza un enfoque basado en un sistema de archivos que se alinea más estrechamente con la forma en que modelamos mentalmente la estructura de nuestra aplicación.
Comencemos configurando un nuevo proyecto Next.js 13 con App Router. Abre tu terminal y ejecuta:
npx create-next-app@latest my-app cd my-app
Cuando se te solicite, asegúrate de seleccionar "Sí" en "¿Quieres usar App Router?".
En App Router, cada carpeta representa un segmento de ruta. Creemos una estructura simple para nuestro generador de cartas de presentación:
app/ ├── page.tsx ├── layout.tsx ├── cover-letter/ │ └── page.tsx └── templates/ └── page.tsx
Aquí, page.tsx en la carpeta raíz de la aplicación representa la página de inicio. Las carpetas de cartas de presentación y plantillas crean rutas para esas páginas respectivas.
En aplicación/página.tsx:
export default function Home() { returnWelcome to the Cover Letter Generator
; }
En app/cover-letter/page.tsx:
export default function CoverLetter() { returnCreate Your Cover Letter
; }
Con esta estructura, puede navegar a / para la página de inicio y /cover-letter para la página de creación de la carta de presentación.
Una de las características poderosas de App Router es la capacidad de crear diseños anidados. Agreguemos un diseño común para nuestra aplicación.
En aplicación/layout.tsx:
export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ); }
Este diseño se aplicará a todas las páginas de nuestra aplicación, proporcionando una estructura de navegación consistente.
Las rutas dinámicas son cruciales para las aplicaciones que generan contenido basado en parámetros. Implementemos una ruta dinámica para ver plantillas de cartas de presentación específicas.
Crear un nuevo archivo: app/templates/[id]/page.tsx:
export default function Template({ params }: { params: { id: string } }) { returnTemplate {params.id}
; }
Ahora, navegar a /templates/1 o /templates/formal mostrará este componente con la identificación respectiva.
Next.js 13 presenta los componentes del servidor React, lo que nos permite recuperar datos en el servidor. Implementemos esto en nuestro generador de cartas de presentación.
En app/cover-letter/page.tsx:
async function getTemplates() { // Simulate API call return [ { id: 1, name: 'Professional' }, { id: 2, name: 'Creative' }, { id: 3, name: 'Academic' }, ]; } export default async function CoverLetter() { const templates = await getTemplates(); return (); }Create Your Cover Letter
{templates.map(template => (
- {template.name}
))}
Este componente recupera datos en el servidor, mejorando el rendimiento y el SEO.
Para la navegación del lado del cliente, utilice el componente Enlace de Next.js. Actualiza tu aplicación/layout.tsx:
import Link from 'next/link'; export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ); }
Ahora que hemos cubierto los conceptos básicos, veamos cómo se aplican estos conceptos en un proyecto del mundo real. El proyecto Resumate-NextJS en GitHub es un excelente ejemplo de un generador de cartas de presentación creado con Next.js.
Conclusiones clave de este proyecto:
Enrutamiento estructurado: el proyecto utiliza una estructura de enrutamiento clara, separando las preocupaciones entre diferentes páginas y componentes.
Renderizado del lado del servidor: utiliza las capacidades SSR de Next.js para mejorar el rendimiento y el SEO.
Rutas API: implementa rutas API para la lógica del lado del servidor, lo que demuestra cómo manejar el envío de formularios y el procesamiento de datos.
Estilo: utiliza Tailwind CSS para un diseño de interfaz de usuario limpio y responsivo.
Administración de estado: implementa una API de contexto para administrar el estado de la aplicación en todos los componentes.
A medida que te sientas más cómodo con App Router, explora estos conceptos avanzados:
El enrutador de aplicaciones Next.js 13 representa un importante paso adelante en el desarrollo de aplicaciones React. Al proporcionar un sistema de enrutamiento intuitivo basado en un sistema de archivos y aprovechar el poder de los componentes de React Server, permite a los desarrolladores crear aplicaciones web eficientes, escalables y fáciles de mantener.
Como se demostró con el ejemplo del generador de cartas de presentación, App Router simplifica el proceso de creación de aplicaciones web complejas y dinámicas. Ya sea que esté creando un sitio de cartera simple o una aplicación web compleja, dominar App Router mejorará significativamente su experiencia de desarrollo Next.js.
Recuerda, la mejor manera de aprender es haciendo. Clona el repositorio Resumate-NextJS, experimenta con el código e intenta implementar tus propias funciones utilizando App Router. ¡Feliz codificación!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3