Saltar al contenido

Clase 32 - React Router

#react #spa #react-router

Routing

  • Concepto de funcionamiento de una SPA (Single Page Application).
  • Brinda la capacidad de poder cambiar de vista al navegar en la aplicación.
  • Nos permite realizar acciones en base a la ruta actual. spa

React Router

  • Documentación
  • Facilita la creación y manejo de aplicaciones dinámicas.
  • Permite proteger fácilmente rutas de nuestra aplicación.
  • Proporciona componentes de React para gestionar las rutas de nuestra aplicación, como así también hooks que nos brindan utilidades relacionadas al routing.

Modos de uso

Actualmente React Router cuenta con 3 modos de uso

Legacy Mode (Modo Tradicional) - Pre v6.4

Características principales:

  • Sintaxis JSX familiar
  • **Configuración declarativa
  • Simplicidad
  • Cliente únicamente

Ventajas:

  • Curva de aprendizaje suave
  • Sintaxis familiar
  • Flexibilidad visual
  • Menos configuración

Desventajas:

  • Sin loaders de datos
  • Sin optimizaciones automáticas
  • Manejo manual de errores
  • Sin invalidación de cache

Cuándo usar:

  • Aplicaciones simples o prototipos
  • Proyectos educativos o de aprendizaje
  • Cuando migras gradualmente desde versiones anteriores
  • SPAs pequeñas sin requisitos complejos de datos

Data Router - V6.4+

Características principales:

  • Configuración por objetos
  • Loaders y Actions
  • Manejo de estados
  • Prefetching
  • Invalidación inteligente

Ventajas:

  • Manejo automático de estados
  • Optimizaciones integradas
  • Invalidación inteligente
  • Mejor UX
  • Separación de responsabilidades
  • Manejo robusto de errores

Desventajas:

  • Curva de aprendizaje
  • Configuración compleja
  • Menos visual
  • Migración

Cuándo usar:

  • Aplicaciones con manejo intensivo de datos
  • SPAs que requieren optimizaciones de rendimiento
  • Proyectos que necesitan UX sofisticada
  • Aplicaciones de producción medianas a grandes

Framework Mode - v7+

Características principales:

  • File-based routing
  • SSR automático
  • Optimizaciones full-stack
  • Type safety
  • Build system

Ventajas:

  • Performance extremo
  • SEO optimizado
  • Developer Experience
  • File-based routing
  • Full-stack
  • Optimizaciones automáticas

Desventajas:

  • Complejidad alta
  • Vendor lock-in
  • Overhead
  • Curva de aprendizaje empinada

Cuándo usar:

  • Aplicaciones de producción grandes
  • Sitios que requieren SEO óptimo
  • Proyectos que necesitan máximo rendimiento
  • Equipos que quieren un framework completo
  • Aplicaciones con componente servidor significativo