Lección 6 de 16 · Lectura y práctica
Route Groups y rutas dinámicas con parámetros
Route Groups y rutas dinámicas con parámetros Esta leccion pertenece al curso Desarrollo Web Full Stack con Next.js y esta pensada para que avances con criterio profesional, no solo con teoria. Primero entiende el concepto,.
Del concepto a la práctica
Taller de esta lección
Los grupos de rutas sirven para ordenar archivos sin agregar segmentos a la URL. Un segmento dinámico, en cambio, representa un valor real que debe validarse. En un catálogo, (publico) puede agrupar páginas visibles y [slug] puede identificar un producto; son decisiones diferentes.
Ejemplo resuelto
// app/(publico)/productos/[slug]/page.tsx
import { notFound } from 'next/navigation';
const nombres: Record<string, string> = {
carbon: 'Lápiz de carbón', acuarela: 'Acuarela azul', papel: 'Papel algodón',
};
export default async function Page({ params }: { params: Promise<{ slug: string }> }) {
const { slug } = await params;
if (!Object.hasOwn(nombres, slug)) notFound();
return <h1>{nombres[slug]}</h1>;
}La carpeta entre paréntesis no aparece; carbon sí representa el parámetro.
Añade app/(publico)/productos/[slug]/not-found.tsx con un componente que muestre “Producto no encontrado”. Mostrar ese texto en un <h1> normal no equivale a llamar notFound(). En una respuesta ya iniciada por streaming, el estado HTTP puede conservar 200; comprueba también el contenido y los metadatos de no indexación.
Pruébalo
Define tres slugs válidos y sus nombres.
Crea el grupo sin incluirlo en la URL.
Resuelve el parámetro contra el conjunto permitido.
Decide el estado para un slug ausente.
Comprueba tu resultado
Error frecuente: enlazar a /(publico)/productos/carbon. Corrección: el grupo es organizativo y la URL correcta es /productos/carbon.
Ejercicio: con carbon, acuarela y papel, la ruta /productos/acuarela debe mostrar el nombre correspondiente y /productos/metal debe mostrar exactamente el estado definido para ausencia.

Mapa de prácticaEl servidor puede obtener datos y producir el HTML inicial. El navegador muestra el resultado y ejecuta las interacciones que necesitan estado local. Mantén las claves sensibles en el servidor y define qué parte se ejecuta en cada entorno.
Ver la infografía en tamaño completo ↗Fuentes para profundizar
Route Groups y rutas dinámicas con parámetros
Esta leccion pertenece al curso Desarrollo Web Full Stack con Next.js y esta pensada para que avances con criterio profesional, no solo con teoria. Primero entiende el concepto, despues aplicalo en una situacion concreta y finalmente deja evidencia de lo que aprendiste.
Objetivo practico
Al terminar, deberias poder explicar el tema con tus palabras, reconocer cuando usarlo y construir una version simple que sirva como base para un proyecto real.
Pasos recomendados
- Lee el concepto y escribi una definicion breve.
- Identifica un caso de uso laboral donde aparezca este problema.
- Construye un ejemplo pequeno y documenta las decisiones.
- Compara tu resultado con el checklist de la leccion.
Sigue con Desarrollo Web Full Stack con Next.js
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.