Mejorando la Redirección Post-Login en Aplicaciones Web
Clase 16 de 30 • Curso de React.js: Navegación con React Router
Contenido del curso
Introducción a React Router DOM 6
- 4

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

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

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

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

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

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

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

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

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

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

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

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

Mejorando la Redirección Post-Login en Aplicaciones Web
Viendo ahora - 17

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

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

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

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

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

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

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

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

Implementación de React Router en Proyectos Legacy
11:07 min
Próximos pasos
- 26

Filtrado de Búsquedas en URL con React Router
03:42 min - 27

Migración de React Router: de la versión 6 a la 5 en proyectos empresariales
07:10 min - 28

Clonación de Platzi Movies usando React y React Router
01:30 min - 29

Clonación de React Router en Componentes React
02:21 min - 30

Navegación Avanzada con React Router DOM 6
05:55 min
¿Cómo mejorar la experiencia del usuario al realizar redireccionamientos?
Nos encontramos en una etapa crucial de optimización, donde no solo importa lo bien que funcionan nuestros desarrollos, sino cómo impactan en la experiencia del usuario. Si alguna vez te has encontrado con la frustración de ser redireccionado a una página que no esperabas tras iniciar sesión, este contenido es para ti. Vamos a profundizar en cómo mejorar la experiencia del usuario otorgándole el control de volver a la acción que intentaba realizar antes de autenticarse.
¿Cuál es el desafío en los redireccionamientos estándar?
Normalmente, al intentar acceder a una URL reservada sin estar autenticado, nuestra aplicación redirige al usuario a una página de inicio de sesión. Este comportamiento, aunque correcto en términos de seguridad, puede tener puntos débiles en experiencia de usuario:
- Redirección a URL por defecto: Después de autenticarse, los usuarios suelen ser redirigidos a una página predeterminada, como el perfil de usuario, en vez de regresar al destino inicial.
- Interrupción de tareas: Esto interrumpe la acción que querían realizar, como editar un blog o un comentario, generando una experiencia frustrante.
El desafío es mejorar este flujo para que, tras autenticarse, el usuario regrese a la misma página de la que fue redirigido inicialmente.
¿Cómo usar 'useLocation' para mejorar UX?
Para abordar este problema, la herramienta clave es el hook useLocation de React Router DOM. Este hook nos permite acceder a la ubicación actual del usuario, facilitando el manejo de redireccionamientos personalizados. Aquí te explicamos cómo integrarlo:
-
Captura de la URL original: Utiliza
useLocationpara guardar la ruta original cuando el usuario intenta acceder sin autenticarse.import { useLocation } from 'react-router-dom'; function MiComponente() { let location = useLocation(); console.log(location.pathname); // La ruta que el usuario intentó visitar } -
Redirección Condicional: Una vez que el usuario complete la autenticación, utiliza la URL capturada para redirigirlo de vuelta donde quería inicialmente.
if (user.loggedIn) { redirect(location.pathname); // Redirige a la ruta original } -
Establecer una Ruta por Defecto: Si el usuario accede directamente al login, asegúrate de tener una ruta por defecto a la que pueda ser redirigido tras autenticar, como el perfil.
¿Qué otros enfoques podrías considerar?
Aunque useLocation es una forma efectiva, no es la única. Aquí hay algunas alternativas que puedes explorar:
- Almacenar el destino en el estado: Usar el contexto de React o Redux para guardar la URL destino.
- LocalStorage o SessionStorage: Almacenar temporalmente la URL en el navegador para acceder a ella después del login.
Cualquiera que sea el enfoque que elijamos, el objetivo es garantizar que la experiencia del usuario sea lo más fluida posible, eliminando frustraciones y facilitando que retomen sus tareas sin interrupciones.
Este reto no solo es técnico, sino también una oportunidad para reflexionar sobre la experiencia del usuario. Si tienes ideas diferentes o soluciones alternativas, ¡compártelas con la comunidad! La diversidad de enfoques enriquece nuestro desarrollo y mejora la experiencia para todos.