react的最大更新深度是多少?

Posted

技术标签:

【中文标题】react的最大更新深度是多少?【英文标题】:What is the maximum update depth in react? 【发布时间】:2019-03-14 14:39:22 【问题描述】:

在超过最大更新深度并抛出错误之前,React 组件需要更新多少次状态?

我知道这是为了防止无限循环或不必要的状态更新。我遇到了一个实例,在该实例中,我需要对 state 的调用进行分块以避免此错误,并且在确定块大小时,了解在引发错误之前允许进行多少状态更新会很有帮助。

【问题讨论】:

ReactJS: Maximum update depth exceeded error的可能重复 @AndyRay 这不是重复的。我要求在抛出错误之前更新的数量。我不是在寻求帮助解决错误。 根据the source code看来是50 【参考方案1】:

在 React 15 中,最大更新深度由 call stack size limit 确定,并且特定于特定的 JS 引擎。

在 React 16 中,最大更新深度原来是 1000。它was decreased to 50 in React 16.5.0。

【讨论】:

非常有帮助。谢谢!

以上是关于react的最大更新深度是多少?的主要内容,如果未能解决你的问题,请参考以下文章

超过最大更新深度 - React Js

求教:最大更新深度超过的原因

React Navigations 5:超过最大更新深度

React Typescript with hooks:最大更新深度超出错误

React-Native = Invariant Violation:超过最大更新深度

如何在“React(设置状态)”中解决“超出最大更新深度”