React正在渲染多个小部件(widgetbot.io),而不仅仅渲染一次。

17 浏览
0 Comments

React正在渲染多个小部件(widgetbot.io),而不仅仅渲染一次。

每当这段代码运行时,我会在浏览器控制台中收到Running...消息两次。

我认为它应该只运行一次,因为在useEffect中我有一个空的第二个参数。

有人能解释为什么它会运行两次吗?

0
0 Comments

React中的问题:React渲染多个小部件(widgetbot.io),而不是只渲染一次。

原因:

如果useEffect没有任何依赖项,组件本身只会被调用一次。

解决方法:

可以参考以下答案:

React Hooks: useEffect() is called twice even if an empty array is used as an argument

0
0 Comments

React is rendering multiple widgets (widgetbot.io) instead of only rendering once.

这个问题的出现的原因是在Log组件重新渲染时,useEffect()的依赖列表设置为空,导致"console.log"会自动运行。可能是由于组件树中的上下文或父组件发生了一些变化。请检查项目结构。

解决方法是检查项目结构,确认上下文和父组件是否发生了变化。

以下是示例代码:


  
    
  

希望这篇文章对你有帮助!

0
0 Comments

React在渲染时出现了多个小部件(widgetbot.io),而不是只渲染一次。这是由于在根树中使用了<StrictMode>导致的。

StrictMode是一种用于凸显应用程序中潜在问题的工具。

它会为其后代激活额外的检查和警告,换句话说...会进行两次渲染。

注意:StrictMode检查仅在开发模式下运行,不会影响生产构建。

关于如何使useEffect()运行两次的详细答案,请访问stackoverflow.com/a/72238236/15288641

解决此问题的方法是在根组件中删除StrictMode。

0