Lovable ui

Infinite Loop Caused by Missing Dependency

Browser becomes unresponsive. useEffect runs infinitely, making thousands of API calls. Network tab shows repeated requests. Browser memory increases until crash.

Infinite loops occur when dependency array is missing or incorrect, causing effect to run on every render, which updates state, causing re-render, repeating infinitely.

Common Causes

  1. Missing dependency array (effect runs every render)
  2. Empty dependency array but accessing changing state
  3. Object/array in dependencies causing it to always change
  4. Function called in effect that updates state
  5. Not understanding closure and stale values

How to Fix It

Always include dependency array:

// Bad - no deps, runs every render
useEffect(() => {
  fetchData(); // calls API every render
});

// Good - runs once on mount
useEffect(() => {
  fetchData();
}, []);

// Good - runs when id changes
useEffect(() => {
  fetchData(id);
}, [id]);

Use ESLint plugin to catch missing dependencies.

Real developers can help you.

Daniel Vázquez Daniel Vázquez Software Engineer with over 10 years of experience on Startups, Government, big tech industry & consulting. Stanislav Prigodich Stanislav Prigodich 15+ years building iOS and web apps at startups and enterprise companies. I want to use that experience to help builders ship real products - when something breaks, I'm here to fix it. Yovel Cohen Yovel Cohen I got a lot of experience in building Long-horizon AI Agents in production, Backend apps that scale to millions of users and frontend knowledge as well. Omar Faruk Omar Faruk As a Product Engineer at Klasio, I contributed to end-to-end product development, focusing on scalability, performance, and user experience. My work spanned building and refining core features, developing dynamic website templates, integrating secure and reliable payment gateways, and optimizing the overall system architecture. I played a key role in creating a scalable and maintainable platform to support educators and learners globally. I'm enthusiastic about embracing new challenges and making meaningful contributions. Simon A. Simon A. I'm a backend developer building APIs, emulators, and interactive game systems. Professionally, I've developed Java/Spring reporting solutions, managed relational and NoSQL databases, and implemented CI/CD workflows. Matthew Butler Matthew Butler Systems Development Engineer @ Amazon Web Services Mehdi Ben Haddou Mehdi Ben Haddou - Founder of Chessigma (1M+ users) & many small projects - ex Founding Engineer @Uplane (YC F25) - ex Software Engineer @Amazon and @Booking.com Tejas Chokhawala Tejas Chokhawala Full-stack engineer with 5 years experience building production web apps using React, Next.js and TypeScript. Focused on performance, clean architecture and shipping fast. Experienced with Supabase/Postgres backends, Stripe billing, and building AI-assisted developer tools. Matt Butler Matt Butler Software Engineer @ AWS MFox MFox Full-stack professional senior engineer (15+years). Extensive experience in software development, qa, and IP networking.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help

Frequently Asked Questions

How do I stop infinite loop?

Stop dev server with Ctrl+C. Check useEffect dependencies. Add missing deps to array.

Should I always have dependency array?

Yes, always include it. Empty array [] means run once. Include variables used in effect.

Related Lovable Issues

Can't fix it yourself?
Real developers can help.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help