The React Pokemon Listing App is a web application that allows users to browse, search, and mark Pokemon as favorites. It features infinite scrolling for seamless navigation and efficient state management using React Hooks.
✅ Infinite Scrolling – Dynamically loads more Pokemon as the user scrolls.
✅ Search Functionality – Search Pokemon by name with a debounced input.
✅ Favorite Toggle – Mark and unmark Pokemon as favorites.
✅ Optimized Performance – Utilizes useReducer, useEffect, useCallback, and useMemo for enhanced performance.
✅ Responsive Design – Ensures a smooth experience across different screen sizes.
- Frontend: React, React Hooks (useReducer, useEffect, useCallback, useMemo)
- Styling: CSS
- Icons: React Icons
- API: Express Pokemon API
npm installCreate a .env file in the root directory and configure the API URL:
VITE_API_BASE_URL=https://pokemon-api-agde.onrender.com/api/v1npm run devThe application will be available at:
https://pokman-react.vercel.app- Fetching Data – The app fetches Pokemon data from the API and stores it in the state.
- Infinite Scroll – The Listingcomponent dynamically loads more Pokemon when the user scrolls down.
- Search & Filter – The Searchcomponent filters Pokemon by name and displays only favorite ones if selected.
- Favorite Toggle – Clicking the heart icon marks/unmarks a Pokemon as a favorite and updates the backend.
To deploy the project, build it using:
npm run buildThen, host it using Vercel hosting provider.
To explore the API endpoints, visit the Swagger documentation:
https://pokemon-api-sx3h.onrender.com/api-docsFeel free to contribute by submitting issues or creating pull requests. Make sure to follow best practices for clean and maintainable code.
This project is open-source and available under the MIT License.