πŸ”§ 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;
});

Related: Maximum Call Stack Size Exceeded β€” How to Fix It