为什么我的 React 函数被调用两次?
为什么我的函数在React中被调用两次?
问题原因:您的app组件被包裹在StrictMode中。
解决方法:完全删除
在开发中,预期的是在严格模式下setState更新器将运行两次。这有助于确保代码不依赖于它们只运行一次的情况(如果异步渲染被中止然后重新启动,情况将不同)。如果您的setState更新器是纯函数(应该是这样),那么这不会影响应用程序的逻辑。
感谢原作者的回答!没有其他人提到这一点!然后我花了一段时间才弄清楚如何禁用StrictMode(reactjs.org/docs/strict-mode.html),方法不是从那些标签中删除.StrictMode,而是删除整个包装的
当我将
不,完全删除
这正是我在寻找的!对我起作用了。谢谢。
非常感谢,这很有帮助,我已经遇到了三天的错误。
如果没有这个答案,我不知道我该如何找到它。非常感谢!
这个评论对我来说也非常有用,谢谢!
R Native是指React Native吗?
我根本没有使用setState(),但删除严格模式后,我的fetch()只运行一次。