FMNotas técnicasPortfolio
Volver al blog

Next.js · Avanzado

Next.js en profundidad: CSR, SSR y generación estática

Next.js ofrece varias estrategias de render porque no todas las páginas tienen el mismo problema. La pregunta correcta es cuándo existen los datos y quién necesita el primer HTML.

Al terminar esta nota
  • Distinguir CSR, SSR y SSG
  • Entender Pages Router
  • Elegir rendering por necesidad
01 / 03

Tres estrategias, distintos costos

CSR obtiene los datos en el navegador. SSR genera HTML en cada solicitud. SSG genera HTML durante la compilación. Podés combinar las tres dentro de una aplicación.

  • CSR: paneles privados y estado muy dinámico.
  • SSR: datos públicos que cambian en cada solicitud.
  • SSG: documentación, sitios personales y artículos conocidos al compilar.
02 / 03

El Pages Router

Cada archivo de pages define una ruta. _app envuelve las páginas y conserva UI compartida. _document personaliza el documento HTML del servidor y no maneja interacción. Las rutas dinámicas usan corchetes.

tsx
// pages/blog/[slug].tsx
export const getStaticPaths = async () => ({
  paths: posts.map(({ slug }) => ({ params: { slug } })),
  fallback: false,
});

export const getStaticProps = async ({ params }) => ({
  props: { post: findPost(params.slug) },
});
03 / 03

Elegí con evidencia

Si el contenido existe al compilar, SSG entrega HTML rápido y fácil de almacenar en caché. Si depende de la sesión, resolvelo en el cliente o en el servidor según la sensibilidad de los datos. No uses SSR por costumbre.

Estrategias de renderizado● interactivo
DATAHTMLHYDRATEINTERACT
Para practicar

Elegí el rendering

Definí estrategia para una landing, un dashboard bancario, un catálogo que cambia cada hora y el detalle de un artículo.

Mostrar una pista

Considerá privacidad, frecuencia de cambio, SEO y costo de regeneración.