🚀 Built an Image Gallery App using React! Today I took another step forward in my React journey by learning an important React Hook — useEffect. It is used to handle side effects in React components, such as fetching data from an API, and it also helps control when the code should run. I also learned about Axios, a JavaScript library used to make HTTP requests to servers. To practice these concepts, I built a Gallery Application that fetches images from the Lorem Picsum API and displays them in a responsive UI. While building this project, I solved a couple of challenges: 1. Pagination I implemented pagination using a state variable for the page index. When the Next or Prev button is clicked, the page number changes and new images are fetched from the API. 2. Loading State I also added a loading indicator that appears while the images are being fetched. Once the data is loaded, the images are rendered in the gallery. What I practiced in this project: • React useState • React useEffect • Axios for API requests • Pagination logic • Conditional rendering (Loading state) • Component-based UI design Building small projects like this helps me understand how React works in real-world applications. Looking forward to building more and improving my skills! 🚀 #ReactJS #WebDevelopment #JavaScript #FrontendDevelopment
More Relevant Posts
-
🚀 Just built a Sticky Notes App using Next.js 16 + TypeScript I recently created StickyBoard, a feature-rich sticky notes application focused on clean UI and smooth user experience. ✨ Key Features: 📝 Create, edit, and delete notes instantly 🎨 5 color themes for better organization 🌙 Dark / Light mode with system preference detection 🔍 Live search across notes 📱 Fully responsive masonry layout 💾 Notes persist using localStorage ⚡ Instant updates without saving 🆕 New Feature Added Drag & Drop notes to easily reorder them. 🛠 Tech Stack: Next.js 16 (App Router) TypeScript CSS Modules GitHub Actions (CI/CD) Vercel Deployment 🌐 Live Demo: [https://lnkd.in/gfp8rsjj] 💻 GitHub Repository: [https://lnkd.in/gEtm3GcR] Would love to hear feedback from the community! #NextJS #ReactJS #WebDevelopment #FrontendDeveloper #TypeScript #JavaScript #BuildInPublic
To view or add a comment, sign in
-
This is one of my recently built project, a simple Quiz App using React, and it turned out to be a great revision of core concepts. 🔹 State Management (useState) Handled multiple states like current question index and user answers. 🔹 Updating State Without Mutation Instead of pushing directly into arrays, I used: setUswerAnswer([...uswerAnswer, ans]); This reinforced why React needs immutable updates to re-render properly. 🔹 Conditional Rendering Displayed questions, score, and results based on the index: Show questions while quiz is running Show result when quiz ends This made me more comfortable with dynamic UI rendering. 🔹 Handling Lists & Events Mapped over options and attached click handlers to capture user answers. Also learned the importance of keys in lists. Quiz Link : https://lnkd.in/g_TU_Puy Still learning and improving step by step #ReactJS #JavaScript #FrontendDevelopment #LearningByBuilding
To view or add a comment, sign in
-
-
🚀 Excited to share my latest project! I built a Notes App using JavaScript & LocalStorage that allows users to create, save, and delete notes efficiently. ✨ Key Features: • Add & delete notes • Data stored using LocalStorage • Simple and clean UI 🔗 Live Demo: https://lnkd.in/d_zt2ems This project helped me strengthen my understanding of DOM manipulation and browser storage. 💡 Next, I plan to add features like Edit, Search, and Dark Mode. #JavaScript #WebDevelopment #FrontendDeveloper #Projects #Learning
To view or add a comment, sign in
-
React used to freeze your entire app just to update a list. Before React 16, the reconciler was recursive. Once it started updating, it couldn't stop. 10,000 nodes? Main thread blocked for 500ms. Animations janky. Inputs unresponsive. User thinks the app is broken. Then Fiber came. The difference: Stack Reconciler (old): → Call stack-based recursion → Can't pause mid-render → All or nothing → Big update = frozen UI Fiber: → Linked list of "work units" → Can pause after each unit → Checks if browser needs the thread back → Yields, then continues next frame Same 10,000 nodes. But now React does a little work, gives the browser a chance to paint, handles your click event, then continues rendering. This is why modern React can do: → useTransition - mark updates as low priority → useDeferredValue - let urgent updates go first → Suspense - pause rendering, show fallback → Concurrent features - multiple renders in progress None of this was possible with the recursive approach. You can't pause a call stack halfway through. Fiber isn't just a rewrite. It's a different architecture that treats rendering as interruptible work instead of a blocking function call. That's why your React 18 app feels smoother than your React 15 app ever did. #react #javascript #frontend #webdev #reactjs #programming #webdevelopment #typescript #reactfiber #performance
To view or add a comment, sign in
-
-
🚀 #Day60 #100DaysOfCode – React Todo App Today I built a Todo App using React to understand how state management and component-based UI work in modern web development. 🛠️ Tech Stack Used Frontend: ▪️ React.js ▪️ JavaScript ▪️ HTML ▪️ CSS Concepts Practiced: ▪️ useState Hook ▪️ useEffect Hook ▪️ Event Handling ▪️ Local Storage 📂 Project Overview This Todo App allows users to: ▪️ Add new tasks ▪️ Mark tasks as completed ▪️ Delete tasks ▪️ Clear all tasks ▪️ Tasks remain saved even after page refresh using Local Storage 💡 Key Learning Today I understood how React state works and how we can build interactive applications using reusable components. Building small projects like this helps strengthen the undamentals of React and frontend development. 🔗 GitHub Repository: https://lnkd.in/dBfWK3QH #ReactJS #JavaScript #FrontendDevelopment #WebDevelopment #100DaysOfCode #Day60Complete 🚀
To view or add a comment, sign in
-
I remember struggling with forms in React… trying different libraries, fixing validation issues, and optimizing performance. ⚛️ That’s when I explored Formik vs React Hook Form. Formik felt simple and quick to start. But as projects grew, I started leaning more towards React Hook Form for better performance and flexibility. Now my go-to depends on the project: • Formik → quick and lightweight setups • React Hook Form → scalable & performance-focused apps There’s no “one perfect choice” - it’s about what fits your use case. Which one do you prefer for your React projects? 👇 #ReactJS #FrontendDevelopment #WebDevelopment #JavaScript #ReactDevelopers
To view or add a comment, sign in
-
-
Day 30 of My React Practice Today I built a Digital Timer / Pomodoro-style app using React and focused on implementing complete timer functionality and state management. 🔧 Key Features Implemented ⏱ Default Timer Initial timer limit set to 25 minutes ▶️ Start Functionality Start button changes to Pause Play icon switches to Pause icon Timer status updates to Running Timer begins counting backwards If paused and started again, it resumes from the paused time Plus and Minus buttons get disabled while running ⏸ Pause Functionality Pause button changes back to Start Pause icon switches to Play icon Timer stops counting Timer status updates to Paused ➕ Increase Timer Plus button adds 1 minute Timer display updates immediately ➖ Decrease Timer Minus button reduces 1 minute Timer display updates accordingly 🔄 Timer Completion When timer reaches 00:00 Timer stops automatically Status changes to Paused Start button appears again to restart with the current timer limit 🔁 Reset Functionality Timer stops Timer resets to initial 25 minutes Status becomes Paused Plus and Minus buttons are enabled again 💡 What I Practiced --> React state management --> Event handling --> Conditional rendering --> Timer logic with setInterval --> UI state synchronization Every day of practice is helping me understand React deeper and build real-world UI behavior. #ReactJS #WebDevelopment #FrontendDevelopment #JavaScript #CodingJourney #ReactDeveloper #BuildInPublic
To view or add a comment, sign in
-
🚀 Just built a full-featured Todo App in React! ✅ Add, Edit & Update tasks ✅ Mark tasks as Complete / Pending ✅ Filter by All / Completed / Pending ✅ Persistent data with LocalStorage ✅ Clean UI with counters & interactive buttons This project helped me strengthen my React skills, state management, and UI handling. 🌟 Source Code: 👉https://lnkd.in/dSRsWdeM Muhammad Osama Saylani Mass I.T Training (S.M.I.T) #ReactJS #WebDevelopment #JavaScript #FrontendDevelopment #CodingJourney #ProjectShowcase #TodoApp
To view or add a comment, sign in
-
Ever wondered which React component is actually slowing down your UI? Most of the time when a React app feels slow, we start guessing: “Maybe it's the API… maybe it's Redux… maybe it's the component tree.” But React already gives us a built-in tool to identify the exact problem: React Profiler. You can open it directly inside React DevTools → Profiler tab and record how your components render. What makes it powerful: • Shows which components re-rendered • Displays how long each component took to render • Highlights unnecessary re-renders • Helps identify components that need memoization For example, I once noticed a list component re-rendering dozens of child items unnecessarily. Using the Profiler made it obvious, and a simple React.memo reduced the rendering work significantly. Instead of guessing performance issues, React Profiler lets you see the exact rendering cost of each component. One of the most underrated tools for debugging React performance. Have you ever used the React Profiler to debug re-renders? #reactjs #frontenddevelopment #javascript #webperformance #webdevelopment
To view or add a comment, sign in
-
-
🧠 Today I learned something powerful in React: Zustand As I continue building my frontend skills, I explored a lightweight state management library called Zustand — and honestly, it changed the way I think about managing state in React apps. Before this, I mostly used useState and props drilling, which works fine for small apps. But when the app grows, sharing state between components becomes messy and hard to maintain. That’s where Zustand comes in. 🚀 What I learned about Zustand: It allows you to create a global state store outside components Any component can access or update the state directly No need for Context Provider or complex Redux setup Clean, minimal, and very easy to use 💡 Simple idea that helped me understand it: Instead of passing data through components → Zustand keeps the data in one shared store that every component can use directly. This made my code: ✔ Cleaner ✔ More scalable ✔ Easier to manage I really enjoy discovering tools like this because they show me how real-world React applications are structured. Still learning, still building, and getting better every day 💻 #ReactJS #Zustand #FrontendDevelopment #JavaScript #WebDevelopment #LearningInPublic
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
Nice work! Keep going Sakshi.