🔧 Error Fixes
· 1 min read

RangeError: Maximum Call Stack Size Exceeded — How to Fix It


RangeError: Maximum call stack size exceeded

You have infinite recursion — a function calling itself forever without a stopping condition.

Fix 1: Add or fix the base case

// ❌ No base case — infinite recursion
function factorial(n) {
  return n * factorial(n - 1);
}

// ✅ Add base case
function factorial(n) {
  if (n <= 1) return 1;
  return n * factorial(n - 1);
}

Fix 2: Infinite useEffect loop in React

// ❌ Setting state triggers re-render, which triggers useEffect again
useEffect(() => {
  setCount(count + 1);
});

// ✅ Add dependency array
useEffect(() => {
  setCount(count + 1);
}, []);  // Empty = run once

Fix 3: Circular JSON.stringify

const obj = {};
obj.self = obj;  // Circular reference

// ❌ Infinite recursion
JSON.stringify(obj);

// ✅ Handle circular refs
JSON.stringify(obj, (key, value) => {
  if (key === 'self') return undefined;
  return value;
});