Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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 使用useState和useEffect重新渲染过多_Javascript_Reactjs_Use Effect - Fatal编程技术网

Javascript 使用useState和useEffect重新渲染过多

Javascript 使用useState和useEffect重新渲染过多,javascript,reactjs,use-effect,Javascript,Reactjs,Use Effect,我的代码遇到了一个问题,在这个问题上,我的getComponent函数会导致无限重渲染循环。我很确定问题出在我使用setComponent时,每次调用它时都会进行渲染。我尝试使用useCallback,但没有成功。这段代码的目的是在数组中循环,根据数组中的条目呈现某些组件并传递道具。我是个新手,所以我确信有一个简单的解决办法我找不到。在任何情况下,如果您认为可以改进,我将非常感谢您在这方面或代码的其他部分提供帮助 谢谢 -axios调用应该在底部获取一个问题数组。不需要有状态“组件”。理想情况下

我的代码遇到了一个问题,在这个问题上,我的getComponent函数会导致无限重渲染循环。我很确定问题出在我使用setComponent时,每次调用它时都会进行渲染。我尝试使用useCallback,但没有成功。这段代码的目的是在数组中循环,根据数组中的条目呈现某些组件并传递道具。我是个新手,所以我确信有一个简单的解决办法我找不到。在任何情况下,如果您认为可以改进,我将非常感谢您在这方面或代码的其他部分提供帮助

谢谢


-axios调用应该在底部获取一个问题数组。

不需要有状态“组件”。理想情况下,应该从switch语句返回一个组件。这是修改过的

注意-

  • 我已删除“组件”和“设置组件”
  • 在switch语句中返回了相关组件
  • 清理了return语句中使用的map函数

在帖子中直接提供您的违规代码。我建议您阅读以下文章:。你的问题几乎和上面描述的一模一样。我注意到您正在调用
getQuestions()
中的
setQuestions()
,我怀疑这是您问题的根源。谢谢,我曾经有过这样的问题,但我正在修复其他问题,并认为这会导致错误,新手错误。我感谢你的帮助。