Code review: Protección de Rutas
Clase 7 de 9 • Prueba Técnica: E-commerce Profesional con React.js
Contenido del curso
Solución de la prueba
Próximos pasos
Proteger las rutas en una aplicación web es un aspecto fundamental para garantizar que los usuarios tienen acceso únicamente a los recursos que les corresponden según su estado de autenticación. En este artículo, exploraremos cómo implementar esta protección de rutas en un proyecto específico, con la finalidad de permitir o restringir el acceso a las funcionalidades de una plataforma de comercio electrónico llamada Shopee. Analizaremos los pasos involucrados en este proceso, cómo el componente NavBar interactúa con la información del usuario, y cómo modificar las rutas en función del estado de autenticación del usuario.
¿Cómo proteger las rutas según la autenticación del usuario?
La protección de rutas depende de la información que tengamos sobre el estado de autenticación del usuario. Es esencial determinar si el usuario está registrado o no para controlar su acceso.
¿Cuáles son los pasos para implementar el enrutamiento condicional?
La implementación de un enrutamiento dependiente de la autenticación comprende varios pasos clave:
-
Determinar el estado de la cuenta del usuario en el componente NavBar: Es necesario comprender si el usuario tiene una cuenta para mostrar ítems específicos en el NavBar. Esto implica acceder a la información almacenada en el local storage y el estado global de la aplicación.
-
Definir el comportamiento al hacer clic en el logo para usuarios no autenticados: Cuando un usuario que no ha iniciado sesión cliquea en el logo, debe ser redirigido a la página de inicio de sesión en lugar de llevarlo a la página inicial (home).
-
Modificar las rutas para restringir el acceso a no autenticados: La configuración de las rutas debe evitar que los usuarios no autenticados vean cualquier parte de la aplicación. Esto se logra utilizando una combinación de context y el almacenamiento local para verificar la autenticación y, basado en ella, redirigir al usuario adecuadamente.
¿Cómo se implementa en NavBar el conocimiento del estado del usuario?
Con la técnica de conditional rendering, se puede determinar si mostrar o no ciertos elementos en el NavBar, como el carrito de compras o opciones de cuenta. El NavBar debe ser capaz de distinguir entre usuarios autenticados y aquellos que han cerrado sesión, mostrando la información relevante acorde a cada caso.
¿Qué cambios se requieren en las rutas según la autenticación?
Con el uso de la función navigate, se puede redirigir a los usuarios no autenticados siempre a la página de inicio de sesión, prohibiéndoles el acceso al home de la aplicación. Este enfoque garantiza que solo los usuarios con las credenciales adecuadas puedan acceder a las funcionalidades completas de Shopee.
¿Cómo se optimiza la experiencia de usuario con el componente shopping cart?
Además de proteger las rutas, se puede mejorar significativamente la experiencia de usuario desglosando el carrito de compras como un componente independiente. Este polimorfismo permite una estructura más modular y organizada del código. Los pasos son:
- Crear un componente
shopping cartseparado. - Importarlo y renderizarlo dentro del componente NavBar.
Con estas operaciones, la aplicación no solo mejora su seguridad y lógica de acceso, sino que también refina su estructura interna, preparándose para impresionar a cualquier entrevistador demostrando buenas prácticas de desarrollo.
La protección de rutas y la estructuración adecuada de los componentes son parte esencial del desarrollo web segura y efectiva. Al implementar estas estrategias, nos aseguramos de ofrecer una experiencia de usuario óptima mientras mantenemos nuestra aplicación organizada y segura.-avatar