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来解决这个问题吗?该道具基本上是“如果选择了一个项目”,也许您可以添加完整的组件代码或至少生命周期代码