How I Understood useCallback At first, useCallback felt useless. My code worked. So why add it? 🤷♂️ Then I learned one thing: 👉 Every render creates a new function. React doesn’t care about logic. It cares about references. useCallback simply tells React: “Please remember this function. Change it only when needed.” That’s it. I now use it mainly when: Passing functions to child components Avoiding unnecessary re-renders Lesson learned 👇 Understand the problem first. The hook will make sense automatically. Still learning. 🚀 #ReactJS #useCallback #FrontendDeveloper #LearningInPublic #Frontend #LearningInPublic #JavaScript #WebDevelopment #DeveloperJourney
Understanding useCallback in React
More Relevant Posts
-
🚀 30 Days — 30 Coding Mistakes Beginners Make Day 4/30 I returned a value inside `forEach()`… but my array became `undefined` 😐 const doubled = numbers.forEach(n => n * 2); The mistake: `forEach()` does NOT return anything. It only runs a loop. Correct 👇 const doubled = numbers.map(n => n * 2); `map()` creates a brand new array with transformed values. Simple rule: forEach → do something map → create something This is especially important in React when rendering lists. Day 5 tomorrow 👀 #30DaysOfCode #javascript #reactjs #frontend #webdevelopment #codeinuse
To view or add a comment, sign in
-
-
🚀 30 Days — 30 Coding Mistakes Beginners Make Day 7/30 I typed inside an input… clicked “Add new item”… and the text moved to another field 😳 The bug? key={index} I used array index as React key. React does not track elements. React tracks keys. When list order changes, React reuses DOM nodes, so your input becomes a different item. Fix 👇 key={item.id} Stable key = stable UI. React warnings are not decoration… they are future bugs. Day 8 tomorrow 👀 #30DaysOfCode #reactjs #javascript #frontend #webdevelopment #codeinuse
To view or add a comment, sign in
-
-
🚀 30 Days — 30 Coding Mistakes Beginners Make Day 15/30 I changed the state… but the input field didn’t update 😐 <input defaultValue={name} /> `defaultValue` only sets the initial value. After that, the DOM controls the input — not React. So even when state changed, UI didn’t. Fix 👇 <input value={name} onChange={e => setName(e.target.value)} /> Now React state controls the input. In React: Uncontrolled input → unpredictable Controlled input → reliable Day 16 tomorrow 👀 #30DaysOfCode #reactjs #javascript #frontend #webdevelopment #codeinuse
To view or add a comment, sign in
-
-
🚀 30 Days — 30 Coding Mistakes Beginners Make Day 10/30 I increased state twice… but it only updated once 😐 setCount(count + 1) setCount(count + 1) I expected +2 I got +1 Because React batches state updates. Both lines used the same OLD value of `count`. Fix 👇 setCount(prev => prev + 1) Functional updates always receive the latest state. This is very important in: counters, carts, likes, and real-time UI. Day 11 tomorrow 👀 #30DaysOfCode #reactjs #javascript #frontend #webdevelopment #codeinuse
To view or add a comment, sign in
-
-
JavaScript is single-threaded. So how does it run setTimeout, Promises, and await without blocking everything? The answer is the event loop. But most explanations make it sound more complicated than it actually is. Async in JavaScript isn’t magic. It’s just a predictable system of queues: • Call Stack • Microtask Queue • Macrotask Queue • Rendering cycle Once you understand how these queues run, the execution order suddenly makes sense. No more “Why did this run first?” moments. I broke the whole concept down visually in this carousel. If async has ever confused you while debugging Save this post, you’ll want it later. RRK signing off! 💛 #javascript #webdevelopment #frontend #reactjs #softwareengineering
To view or add a comment, sign in
-
Learning React made me realize something — frontend isn’t about “changing elements.” It’s about controlling state and thinking in systems. Once that clicked, everything started making sense. Still early in the journey, but the foundation is getting stronger every day. Next stop: advanced hooks and performance optimization. Building > consuming. #ReactJS #JavaScript #FrontendDeveloper #WebDevelopment #CodingJourney #LearnInPublic #FullStackPath
To view or add a comment, sign in
-
-
🚀 React Hands-on Series #4 ⏳ Problem Statement: Debounced Search Input Ever noticed how search bars don’t fire on every keystroke? That’s called debouncing — and today you’re building it. 🎯 Your Task: Create a search input with the following behavior: ✅ Input field ✅ User types normally ✅ Show the typed value only after 1000ms delay #React #FrontendDevelopment #JavaScript #PerformanceOptimization #BuildInPublic #ReactJS #CodingChallenge
To view or add a comment, sign in
-
-
Today something interesting happened while I was building a Custom Date Picker in NextJS.🗓 I have used useRef many times before, but honestly I was mostly using it without fully understanding the concept behind it But today… it finally clicked.💫 While implementing the feature, I realized that: • useRef creates a mutable object • The value is stored inside .current • The value persists between renders • Updating .current does not trigger a re-render • It can also be used to directly access DOM elements The most interesting part for me was understanding why React doesn't re-render when current changes. Sometimes you don’t truly understand a concept until you build something real with it. Small learning today, but a very satisfying one. 💫 What was the React concept that took you the longest to understand❓️ #React #JavaScript #FrontendDevelopment #ReactHooks #BuildInPublic #LearningJourney
To view or add a comment, sign in
-
🚀 30 Days — 30 React Mistakes Beginners Make 📅 Day 3/30 ❌ Mistake: Forgetting Dependency Array in useEffect My API kept calling again and again 🔥 Code 👇 useEffect(() => { fetchData() }) 💡 What Happened? Without a dependency array: Component renders useEffect runs setState updates Component re-renders useEffect runs again Infinite loop 🔁 ✅ Correct Way Run once: useEffect(() => { fetchData() }, []) Or add specific dependencies: useEffect(() => { fetchData() }, [userId]) 🎯 Lesson Always control when your effects run. Uncontrolled side effects = performance issues. #ReactJS #FrontendDevelopment #JavaScript #CodingMistakes #SoftwareEngineering #WebDev #ReactHooks #DevCommunity #BuildInPublic #LearnReact
To view or add a comment, sign in
-
-
One Hook. Zero Re-renders. Infinite Control. ⚡ That’s the power of useRef in React. Instead of re-rendering like useState, useRef quietly stores values and gives direct DOM access when needed. 🎬 Control a video player 📝 Focus an input instantly ⏱ Store timer IDs 📊 Track previous values If you’re learning React, mastering useRef is a must! Save this post for later 📌 #ReactJS #ReactHooks #WebDev #FrontendLife #CodingTips #JavaScript #DeveloperCommunity #TechPost
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