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;
});