Firebase实时数据库更新报错:RangeError: 调用栈超出最大值
解决Firebase实时数据库更新时的栈溢出错误
错误原因很明确:你自定义的update函数和Firebase提供的update()方法同名了,导致函数内部调用自己,陷入无限递归,最终触发栈溢出错误。
修改方法:把自定义函数名改成和Firebase方法不冲突的名称,比如updateCountTrains,调整后的代码如下:
function updateCountTrains () { update(ref(db, 'users/' + user.localId), { countTrains: countTrain, }).then(() => { alert('data updated!'); }) .catch((error) => { alert(error); }); };
额外注意:
- 确保
countTrain是合法的数值类型,避免传入非预期值导致更新失败 - 确认
user.localId已正确获取当前用户的ID,避免因路径错误引发异常
内容的提问来源于stack exchange,提问作者Proger228
相关产品推荐
相关产品推荐

