Uso de useNavigate en React Router DOM para navegación dinámica
Clase 9 de 30 • Curso de React.js: Navegación con React Router
Contenido del curso
- 4

Instalación de React Router DOM 6 en un proyecto React
11:18 - 5

Uso de Hash Router en Aplicaciones Web con React Router DOM
07:26 - 6

Creación de Rutas Dinámicas con React Router DOM 6
10:41 - 7

Navegación en React Router: Uso de Link y NavLink
13:18 - 8

Rutas dinámicas con React Router DOM y useParams
15:36 - 9

Uso de useNavigate en React Router DOM para navegación dinámica
08:57 - 10

Uso de Outlet y Nested Routes en React Router DOM 6
06:56
- 11

Autenticación y Autorización en Apps con React Router y Hooks
23:48 - 12

Control de Acceso en Menú con Autenticación React
09:50 - 13

Protección de Rutas con React Router y Hooks
13:46 - 14

Roles y permisos en aplicaciones web: Autenticación y autorización
11:57 - 15

Retos avanzados en React: manejo de estado y composición de componentes
08:21 - 16

Mejorando la Redirección Post-Login en Aplicaciones Web
03:42 - 17

Roles y Permisos Avanzados en React Router v6
04:57
- 18

Migración de Todo Machine a React Router 6
11:33 - 19

Organización de carpetas y rutas en React con React Router DOM 6
18:40 - 20

Maquetación de Botón Editar en Lista de Tareas con React
12:19 - 21

Generación de IDs únicos para gestionar tareas en React
15:23 - 22

Migración de modales a rutas en React: implementación práctica
17:37 - 23

Editar ToDos en React con Custom Hook y URL Parameters
14:03 - 24

Mejora de la Experiencia del Usuario al Editar To Do's en React
21:55 - 25

Implementación de React Router en Proyectos Legacy
11:07
¿Cómo utilizar el hook useNavigate de React Router DOM?
El uso de herramientas modernas de navegación en React es imprescindible para facilitar el desarrollo de aplicaciones web y mejorar la experiencia del usuario. Uno de los más importantes en React Router DOM es el hook useNavigate, que permite redirigir y cambiar rutas dentro de nuestra aplicación de forma programática.
¿Qué es y cómo solucionamos el problema de las keys en React?
Antes de profundizar en el uso de useNavigate, debemos resolver un error común relacionado con las keys en listas renderizadas. Este problema ocurre cuando olvidamos asignar una propiedad key a cada elemento dentro de un array. React utiliza esta propiedad única para identificar elementos y optimizar la actualización del DOM.
-
Solución para
blog page:<BlogLink key={post.slug} />Aquí,
post.slugse utiliza como la key única para cada entrada de blog. -
Solución para el menú:
<li key={route.to} />Cada elemento de la lista tiene ahora una key basada en
route.to.
¿Cómo navegar entre rutas con useNavigate?
A continuación, se explica cómo implementar la navegación de manera eficiente utilizando useNavigate.
-
Crear un botón para navegar:
const returnToBlog = () => { navigate('/ruta-deseada'); }; <button onClick={returnToBlog}>Volver al blog</button>Este botón ejecuta
returnToBlog, que utilizauseNavigatepara redirigir al usuario. -
Importante: El
useNavigatedebe ser llamado directamente en el cuerpo de un componente, siguiendo las reglas generales de los hooks.
¿Qué ventajas aporta useNavigate sobre Link?
La principal diferencia entre el uso de useNavigate y un componente Link radica en su flexibilidad y dinamismo:
-
Rutas dinámicas: Al usar expresiones como templates literales,
useNavigatepermite rutas dinámicas a partir de variables. -
Historial de navegaciones:
useNavigatepermite navegar usando un índice relativo, comonavigate(-1), que lleva al usuario a la página previa en el historial de navegación.
¿Cómo gestionar el historial de navegación?
Usar navigate(-1) es una herramienta valiosa para manejar el historial. Esta técnica:
- Historia redireccionada: El método
navigate(-1)simula el comportamiento del botón "Atrás" del navegador. - Prueba con otros índices: Se invita a los usuarios a experimentar con valores como
navigate(-2)onavigate(-3)para moverse varias páginas atrás en el historial.
¿Cuándo intentar implementar funciones temporales?
Un enfoque poderoso de useNavigate es usarse en lógica condicional o temporal:
- Validaciones temporales: Como redireccionar después de un tiempo límite, validaciones de sesión o restricciones de contenido.
Con estos conceptos, el useNavigate permite una implementación robusta y flexible de navegación en React, extendiendo las capacidades de diseño y mejorando el flujo de las interacciones de usuario en aplicaciones.