Creating a 🔯React Project "Todo App" with myself and understanding why developers love❤️ React and how we can define only the steps of anything that we want, and all things are done behind the scenes automatically This project looks simple, but I understand a lot of concepts about how React works and how data flows between components. Here are some concepts of React that I used in this project: - Context API: For accessing state or data globally🌐. - Filter Data: We can filter⌛ the Todo Data based on the current Active Task, Completed Task and All Tasks. - Conditional⁉️ Rendering: When no filter is selected, the app displays a default text based on the chosen filter. - Updating Data with User Input✍️: Updating the Todo Task List on user input in the input field. - LocalStorage💻: To persist the Data using LocalStorage. - Tailwind CSS 🌈: However, I can write my own separate CSS file, but this is the first time that I used Tailwind CSS in any project because I want to understand the React concepts, not styling the HTML elements. 📂 Repo Link: [https://lnkd.in/g8hwWx3Y] 📷 Demo Link: [https://lnkd.in/gRckVYWd] #ReactJs #JavaScript #WebDevelopment #FrontendDevlopment #LearningInPublic #Coding #Project #TodoApp
More Relevant Posts
-
🛑 Stop using useMemo for everything. You’re likely fixing the wrong problem. Most developers think React re-renders an entire page whenever anything changes. Or worse, they believe that "props changing" is the only trigger for a re-render. This misunderstanding leads to "Optimization Overkill." You start wrapping every single function in useCallback and every variable in useMemo, making your codebase harder to read and—ironically—sometimes even slower. 🔍 What actually triggers a re-render? 1️⃣ State Changes: When useState or useReducer updates, that component (and its children) re-renders. 2️⃣ Parent Re-renders: If a Parent re-renders, React re-renders all children by default. (Yes, even if their props didn't change!) 3️⃣ Context Updates: If the value in a useContext Provider changes, every consumer re-renders. 💡 The Reality Check: A component doesn't re-render because its props changed. It re-renders because its Parent updated. Props are just the data it receives during that process. 🛠️ How to fix this (Without over-engineering): Move State Down: Keep state as close to where it's used as possible. Component Composition: Pass expensive components as children. Memoization: Use React.memo only when you’ve measured a real performance bottleneck. The Golden Rule: Stop optimizing for "ghost" problems. Profile your app first, then optimize. 💻 What’s one React "performance tip" you realized was actually a myth? Let’s discuss below! 👇 #ReactJS #SoftwareEngineering #WebDev #Frontend #Coding #Javascript
To view or add a comment, sign in
-
-
🚀 React Concepts — Explained Simply React can feel overwhelming at first, but once you understand the core concepts, everything starts making sense. Here are 4 fundamental React concepts explained in the easiest way 👇 ✅ useState → Memory of your component Think of it like a variable that remembers values. When state changes → UI updates automatically. 👉 Example: Counter, form inputs, toggle button. --- ⚡ useEffect → Side effects after rendering Runs code after your component renders or when something changes. 👉 Example: API calls, timers, event listeners. --- 📦 Props → Data passing mechanism Props allow parent components to send data to child components. Think of them like function arguments. 👉 One-way data flow = predictable apps. --- 🧠 useMemo → Performance optimization Remembers heavy calculations so React doesn’t recompute them every time. 👉 Helps in faster apps and better performance. --- 💡 Master these 4 → You understand 70% of React fundamentals. Which React concept confused you the most when starting? 👇 Follow Shubhdeep Sharma for more such content ✨ #React #FrontendDevelopment #WebDevelopment #JavaScript #SoftwareEngineering #LearningInPublic
To view or add a comment, sign in
-
-
In early days of development, I once built a simple React dashboard - just filters and a list - and a single checkbox caused 127 re-renders. My laptop fan sounded like a jet taking off 😄. That’s when I realized something important: "React isn’t slow - my understanding of it was" The app worked fine with 10 items - but with 100, scrolling felt like molasses. Why? Because React will re-render anything that looks “different” - even when it shouldn’t matter. Here are the real culprits I found: 🔹 New objects in render Passing freshly created objects makes React think something changed - even if it didn’t. 🔹 Inline functions Every arrow function in JSX creates a new reference - and that triggers re-renders everywhere. 🔹 One big context object If a context contains everything, changing anything re-renders everything. 🔹 State updates in loops Updating state inside a loop can literally trigger 100 re-renders in one effect. 🔹 Not memoizing expensive components React.memo isn’t always the answer - but in the right places, it stops needless work. But here’s the bigger lesson: 👉 Re-renders only matter when rendering is expensive. Measure first. Optimize second. React DevTools Profiler isn’t optional - it’s the difference between guessing and knowing what’s slowing you down. If you build large React apps and want smoother performance without premature optimization, I broke this down in detail. 🔗 Medium Link in the first comment 👇 #codewithsaad #appzivo #ReactJS #FrontendDevelopment #WebPerformance #JavaScript #SoftwareEngineering #TechLeadership #ProductThinking #ReactProfiler
To view or add a comment, sign in
-
-
🚀 5 React Concepts That Transformed My Development Workflow After spending countless hours building with React, I've discovered that the real power isn't in the syntax—it's in understanding the "why" behind the patterns. Here are 5 game-changing concepts every React developer should know: 🔁 1. The Closure Trap in Hooks useEffect and useState rely on closures. If you're not careful with dependency arrays, you'll be debugging stale values for hours. Understanding JavaScript closures = mastering React hooks. 🎭 2. Render Props Pattern Before hooks, this was the king of sharing logic. Still incredibly useful when you need to share code between components with flexible rendering needs. It's like passing JSX as a function—pure genius. 🧩 3. Error Boundaries One error shouldn't crash your entire app. Error boundaries let you fail gracefully, showing fallback UI while keeping the rest of your application functional. Your users will thank you. ⚡ 4. Memoization Strategies React.memo, useMemo, useCallback—they're not just performance tools. They're about preventing unnecessary re-renders and optimizing expensive calculations. Use them wisely, or don't use them at all. 🔄 5. The Power of useRef Beyond DOM References useRef persists values across renders without triggering re-renders. Perfect for tracking previous values, storing interval IDs, or keeping mutable data that shouldn't cause updates. 🎯 Bonus: Component Lifecycle in the Hooks Era useEffect combined with useRef can replicate componentDidMount, componentDidUpdate, and componentWillUnmount with cleaner, more readable code. React isn't just about building UIs—it's about building UIs that scale, perform, and make developers happy. 🌟 What's one React concept that clicked for you late in your journey? Share below! 👇 #ReactJS #WebDevelopment #FrontendEngineering #JavaScript #CodingTips #ReactHooks #SoftwareEngineering #TechCommunity #DeveloperProductivity #WebDevLife
To view or add a comment, sign in
-
React roadmaps that make you build real apps and become a cracked dev. I have been getting a lot of questions about the roadmap I followed, and here's it. Before React, lock in: - JavaScript (closures, async/await, array methods) - HTML semantics - CSS layout (Flexbox, Grid) If your JS is weak, React will always feel confusing. Master the basics properly: - Components & JSX - Props vs State - useState, useEffect - Conditional rendering - Lists & keys Then you Learn how to: - Break UIs into components - Lift state when needed - Avoid prop drilling (without overusing libraries) - Control re-renders intentionally If you can’t explain why something re-renders, you’re not done yet. Now level up with: - Forms & validation - Data fetching - Error & loading states - Custom hooks - Basic performance optimizations Build ugly but functional apps. That’s where growth happens. #reactdev #frontend #BuildinPublic #BuildinginPublic #code
To view or add a comment, sign in
-
-
🚀 𝗥𝗲𝗮𝗰𝘁 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 𝗶𝘀𝗻’𝘁 𝗮𝗯𝗼𝘂𝘁 𝗰𝗹𝗲𝘃𝗲𝗿 𝘂𝘀𝗲𝗠𝗲𝗺𝗼𝘀. 𝗜𝘁’𝘀 𝗮𝗯𝗼𝘂𝘁 𝗼𝗿𝗱𝗲𝗿𝗶𝗻𝗴. After years of shipping large ReactJS & NextJs apps, one pattern keeps showing up: 👉 Teams optimize too low in the stack. If your app: • Has async waterfalls adding 500–600ms 🐢 • Ships hundreds of KBs of unused JS 📦 • Re-renders components unnecessarily 🔁 …then micro-optimizations won’t save you. That’s why I really like what Vercel just published with 𝗿𝗲𝗮𝗰𝘁-𝗯𝗲𝘀𝘁-𝗽𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀. Instead of random tips, it’s a 𝗽𝗿𝗶𝗼𝗿𝗶𝘁𝗶𝘇𝗲𝗱 𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸 built from 𝟭𝟬+ 𝘆𝗲𝗮𝗿𝘀 𝗼𝗳 𝗿𝗲𝗮𝗹 𝗽𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝗽𝗮𝗶𝗻, ordered by actual impact: 🔴 𝗖𝗥𝗜𝗧𝗜𝗖𝗔𝗟 • Eliminate async waterfalls • Reduce bundle size 🟠 𝗛𝗜𝗚𝗛 → 𝗠𝗘𝗗𝗜𝗨𝗠 • Server-side performance • Client-side data fetching • Re-render optimization 🟢 𝗜𝗡𝗖𝗥𝗘𝗠𝗘𝗡𝗧𝗔𝗟 • Rendering & JS performance • Advanced patterns Each rule explains: • Why it matters • What breaks performance • How to fix it (with real code examples) What really stands out 👇 The rules compile into a single 𝗔𝗚𝗘𝗡𝗧𝗦.𝗺𝗱, so 𝗔𝗜 𝗰𝗼𝗱𝗶𝗻𝗴 𝗮𝗴𝗲𝗻𝘁𝘀 ( Cursor, Codex, Claude Code, Opencode etc.) can apply the same performance decisions consistently across a codebase. This is how performance work should be done: ✅ Prevent regressions ✅ Fix root causes ✅ Scale knowledge across humans and agents If you build React / Next.js apps at scale, this is worth bookmarking.. 🔗 Check out react-best-practices from Vercel 💬 Curious: what’s the biggest performance issue you keep seeing in React apps today? #react #nextjs #vercel #frontend #bhadreshpithwa #webdeveloperguide #webperformance #frontendengineering #javascript #softwareengineering #typescript #aifordeveloper #webdevelopment
To view or add a comment, sign in
-
-
One important concept every React developer must truly understand: State management In React, state is what drives your user interface. It determines what users see, how components update, and how data flows across your application. Poor state management leads to: • unpredictable UI behavior • unnecessary re-renders • hard-to-maintain code But when state is handled correctly using tools like useState, useEffect, lifting state up, or Context your application becomes cleaner, more scalable, and easier to reason about. React development isn’t just about building components. It’s about thinking in state and data flow. Still learning. Still building. #ReactJS #FrontendDevelopment #JavaScript #WebDevelopment #SoftwareEngineering #LearningInPublic
To view or add a comment, sign in
-
-
🚫 One thing I learned the hard way while optimizing React apps: sprinkling useMemo and useCallback everywhere doesn’t always help — sometimes it hurts. We all know what they’re supposed to do: ✔️ prevent unnecessary re-renders ✔️ stabilize values for React.memo children But here’s a subtle gotcha many people (my past self included 😅) miss 👇 👉 On the initial render, these hooks add overhead: - They allocate memory - They run the expensive function once anyway - They force React to do extra comparison work If the calculation is cheap (simple object/array creation, basic math), the cost of memoizing often outweighs the benefit — especially in components that render once or rarely re-render. ⚠️ Worse: overusing them creates memoization debt: - Dependency arrays to constantly maintain - Stale-closure bugs when deps are wrong - Harder-to-read, harder-to-reason-about code 🧠 The real-world rule I’ve settled on: Use useMemo / useCallback only when: -Passing a value or function to a React.memo child (to prevent render cascades) -The computation is truly expensive (e.g. filtering/sorting large lists, complex derivations) Otherwise? ➡️ Let React do its thing. It’s surprisingly fast without extra memoization in most cases. 📊 Profile first with React DevTools → fix real problems → then memoize sparingly. Anyone else fallen into the “memoize-all-the-things” trap? What’s your go-to guideline these days? 👇 #React #Frontend #JavaScript #WebDevelopment #ReactJS
To view or add a comment, sign in
-
Are Class Components Dead in React? 💀⚛️ If you started learning React after 2019, you might have never written a `class` component. But if you work on a large legacy codebase, you probably see `this.setState` and `componentDidMount` every day. So, do you still need to know Class Components in 2026? 𝐓𝐡𝐞 𝐒𝐡𝐨𝐫𝐭 𝐀𝐧𝐬𝐰𝐞𝐫: No... but yes. 1️⃣𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧 𝐂𝐨𝐦𝐩𝐨𝐧𝐞𝐧𝐭𝐬 (𝐓𝐡𝐞 𝐒𝐭𝐚𝐧𝐝𝐚𝐫𝐝) 🚀 • Since React 16.8 (Hooks), this is the default. • They are cleaner, use less boilerplate, and avoid the confusing `this` keyword. • 𝐌𝐞𝐧𝐭𝐚𝐥 𝐌𝐨𝐝𝐞𝐥: "I am just writing a JavaScript function that returns UI." 2️⃣𝐂𝐥𝐚𝐬𝐬 𝐂𝐨𝐦𝐩𝐨𝐧𝐞𝐧𝐭𝐬 (𝐓𝐡𝐞 𝐋𝐞𝐠𝐚𝐜𝐲) 📜 • You will mostly find these in older apps. • They require extending `React.Component` and using lifecycle methods like `componentDidUpdate`. 3️⃣𝐓𝐡𝐞 "𝐎𝐧𝐞" 𝐄𝐱𝐜𝐞𝐩𝐭𝐢𝐨𝐧: 𝐄𝐫𝐫𝐨𝐫 𝐁𝐨𝐮𝐧𝐝𝐚𝐫𝐢𝐞𝐬 🛡️ • Currently, there is no direct Hook equivalent for `componentDidCatch` (which handles app crashes). • 𝐎𝐟𝐟𝐢𝐜𝐢𝐚𝐥 𝐑𝐞𝐚𝐜𝐭 𝐃𝐨𝐜𝐬: "Use a class component for this." • 𝐏𝐫𝐨 𝐓𝐢𝐩: You can actually avoid writing a class by using the `react-error-boundary` library! Check out the cheat sheet below to see the syntax difference side-by-side. 👇 Does your current production app still have Class Components, or have you fully migrated to Hooks? #ReactJS #FrontendDevelopment #WebDev #JavaScript #CodingInterviews #SoftwareEngineering
To view or add a comment, sign in
-
-
Today was all about making my web applications more "intelligent" and dynamic. I focused on how a server actually handles data and serves visual content to the user. Here’s a breakdown of my latest milestones: 1. Handling User Data (Parsers) I learned how to make sense of the data coming from the frontend. Using express.json() and express.urlencoded(), I’ve set up my app to properly parse incoming form submissions and JSON data. This is the foundation for any interactive app! 2. Dynamic UI with EJS (Embedded JavaScript) Why settle for static HTML when you can have dynamic content? The Setup: Configured app.set('view engine', 'ejs') and organized my project with a dedicated views folder. Rendering vs. Sending: Learned that while res.send() is great for quick tests, res.render() is the real power tool for serving full EJS files without needing to specify extensions every time. Dynamic Logic: Using tags like <%= %> and <% %> allows me to inject JavaScript logic directly into my HTML structure. 3. Serving Static Assets I also tackled asset management using express.static. By linking the public folder with path.join(__dirname, 'public'), I can now serve CSS, images, and client-side JS seamlessly. The best part? The app knows exactly where to look, keeping the code clean and professional. It’s exciting to see the "skeleton" of my backend finally getting a "skin" that users can interact with. Every bug fixed is a lesson learned! credits: Sheryians Coding School #WebDevelopment #ExpressJS #BackendDevelopment #NodeJS #LearningToCode #FrontendToBackend #ProgrammingJourney #Javascript #EJS #sheryianscodingschool
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 project.. Just one suggestion use visible colors combination for ui.. Keep it up 👍🏻