npm install npm run dev
- React: Utilicé fetch para cargar los datos, useState para gestionar el estado y useEffect para cargar los usuarios al montar el componente. Implementé un input controlado para la búsqueda y un modal para mostrar los detalles.
- jQuery: Usé $.getJSON para cargar los datos, y manipulé el DOM con jQuery para la tabla y el modal.
- Conversión: Reemplazé el DOM manipulado por jQuery con JSX y gestioné el estado de la búsqueda usando React.
Fácil: La parte más sencilla fue la implementación de la búsqueda en vivo en ambas versiones (React y jQuery) y la estructura básica de la tabla y modal.
Difícil: La conversión de jQuery a React con TypeScript requirió mayor atención al tipado y la gestión del estado. Asegurarse de que los datos se manejen de manera eficiente también fue un reto.
Mejoraría la accesibilidad de los componentes, como el modal, asegurándome de que sea completamente accesible (ej., soporte para teclado) y también mejoras en el diseño como mejores estilos y agregar el responsive.
Añadiría pruebas unitarias para las funcionalidades principales.
Refactorizaría la lógica del filtrado para hacerlo más eficiente y escalable en aplicaciones más grandes.