Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过上下文提供程序在条件中设置状态时,React JS Max updates超出错误_Javascript_Reactjs_If Statement_React Hooks_State - Fatal编程技术网

Javascript 通过上下文提供程序在条件中设置状态时,React JS Max updates超出错误

Javascript 通过上下文提供程序在条件中设置状态时,React JS Max updates超出错误,javascript,reactjs,if-statement,react-hooks,state,Javascript,Reactjs,If Statement,React Hooks,State,目前,我正在一个功能组件内部工作,并试图根据传递到其中的道具设置状态 if (prop){ contextProvider.updateText() } 上下文提供程序代码 const updateText = () => { setButtonState({text: "testing"}) } 这导致 超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。Rea

目前,我正在一个功能组件内部工作,并试图根据传递到其中的道具设置状态

if (prop){
 contextProvider.updateText()
}
上下文提供程序代码

const updateText = () => {
 setButtonState({text: "testing"})
}
这导致

超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量以防止无限循环


如果您有任何关于如何解决此问题的建议,我们将不胜感激

能否添加完整的代码?错误消息也正确地解释了问题,您正在无限循环中更新状态。你需要检查条件是的,我认识到问题,只是无限地重新招标。我不知道该如何解决,因为我需要根据传递的这个道具设置状态。您希望看到代码的哪一部分?文件相当大,这是问题的最简单形式。我调用了上下文提供程序func,它是我从其他也引用上下文提供程序的文件中创建的,运行良好。所以我假设它是因为我在代码中调用它。我可以用useEffect来解决这个问题吗?该道具基本上是“如果选择了一个项目”,也许您可以添加完整的组件代码或至少生命周期代码