React useEffect: When to Run Effects

🚀 Why do we use [] at the end of useEffect in React? Let me break this down simply. 🤔 What does [] actually mean? React asks: "When should I run this effect again?" Your answer goes inside []. The 3 Rules: 1️⃣ Empty [] → Run ONCE javascript useEffect(() => { fetchData(); }, []); ✅ Runs only on component mount Use for: API calls, one-time setup 2️⃣ With value [name] → Run when IT changes javascript useEffect(() => { console.log(name); }, [name]); ✅ Runs when name updates Use for: Responding to specific changes 3️⃣ No array → Run EVERY render javascript useEffect(() => { console.log("Rendered!"); }); ⚠️ Runs constantly — avoid this! 🏠 Simple Analogy [] = Installing Wi-Fi once when you move in [electricity] = Checking meter when usage changes No array = Breathing constantly 💡 Common Mistake ❌ Infinite loop: javascript useEffect(() => { setCount(count + 1); }); // Runs forever! ✅ Fixed: javascript useEffect(() => { setCount(count + 1); }, []); // Runs once 📌 Quick Reference useEffect(..., []) → Once useEffect(..., [x]) → When x changes useEffect(...) → Every render 🎯 Bottom Line The [] tells React when to re-run your code: Empty = once With values = when those change Missing = constantly (usually a bug) Master this and avoid infinite loops, performance issues, and bugs! 💪 Drop a 💡 if this helped! #React #JavaScript #WebDevelopment #Programming

To view or add a comment, sign in

Explore content categories