Esta aplicación se enfoca en conceptos avanzados como manejo de caché, búsqueda eficiente, carga perezosa de imágenes y reutilización de componentes, con el objetivo de crear una experiencia fluida y visualmente atractiva.
- Exploración de Pokémons: Visualiza una lista completa de Pokémons con detalles relevantes como habilidades, tipos y estadísticas.
- Búsqueda avanzada:
- Búsqueda por ID y nombre.
- Implementación de debounce manual para evitar llamadas excesivas a la API.
- Manejo de caché: Optimización del acceso a datos almacenados localmente para reducir la dependencia de la API.
- Carga perezosa de imágenes: Mejora del rendimiento mediante la carga diferida de imágenes.
- Memorización de valores: Uso de estrategias para mejorar el rendimiento en componentes que dependen de datos complejos.
- Múltiples
useQueries
: Ejecución simultánea de consultas para diferentes datos en el mismo componente.
- React Native: Framework para el desarrollo de aplicaciones móviles.
- TanStack Query:
useQuery
para consultas simples.useInfiniteQuery
para listas con paginación infinita.
- TypeScript: Tipado estático para mejorar la mantenibilidad del código.
- React Navigation: Manejo de navegación fluida entre pantallas.
- Axios: Cliente HTTP para consumir la API de PokeApi.
- Debounce: Técnica para optimizar las búsquedas reduciendo la frecuencia de llamadas a la API.
- Lazy Loading: Carga perezosa de imágenes para optimizar el rendimiento.
Nota: Asegúrate de tener Node.js, npm o yarn, y un entorno configurado para React Native CLI.
-
Clona este repositorio en tu máquina local:
git clone https://github.com/IgnaG-Dev/PokedexApp
-
Navega al directorio del proyecto:
cd PokedexApp
-
Instala las dependencias necesarias:
npm install
o
yarn install
-
Ejecuta la aplicación en un emulador o dispositivo físico:
- Para Android:
npx react-native run-android
- Para iOS:
npx react-native run-ios
- Para Android:
¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar esta aplicación, abre un issue o envía una pull request con tus propuestas.
Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto.