Reactjs 重新加载组件时的componentDidMount()

Reactjs 重新加载组件时的componentDidMount(),reactjs,Reactjs,我有组件A和B,它们都有自己的componentDidMount()方法。将它们视为两个单独的模块,它们没有一起加载。不是A就是B,但不是在一起 我的简单问题是: 如果我点击组件A,然后点击B,然后返回A,组件A中的componentDidMount()是否会在第二个组件上被调用 当我阅读文档时,它指出,componentDidMount()只调用一次,并且在所有组件更新中调用了componentdiddupdate(),但我不清楚这是否发生在我的应用程序的整个生命周期中 我试图找出API调用的

我有组件A和B,它们都有自己的
componentDidMount()
方法。将它们视为两个单独的模块,它们没有一起加载。不是A就是B,但不是在一起

我的简单问题是:

如果我点击组件A,然后点击B,然后返回A,组件A中的
componentDidMount()
是否会在第二个组件上被调用

当我阅读文档时,它指出,
componentDidMount()
只调用一次,并且在所有组件更新中调用了
componentdiddupdate()
,但我不清楚这是否发生在我的应用程序的整个生命周期中

我试图找出API调用的逻辑。我可能需要也可能不需要再次对组件A进行API调用,所以我有一些逻辑来处理这个问题。我只是想让我打那个电话的逻辑起作用


所以,问题很简单,我会在用户会话期间在后续加载时点击组件A中的
componentDidMount()
?用户会话可能会持续很长时间,在此期间,用户可能会多次返回组件A和组件B。

答案是肯定的,每次切换组件时,您都会再次调用
componentDidMount()
。 更多关于这方面的信息,请点击这里-

React本身中API调用的逻辑非常类似于:

  • 创建在componentDidMount方法中调用API的容器
  • 创建导入到容器的外部哑组件,在
    render()
    方法中调用它们,并通过
    props
  • 创建正在执行您现在应该调用哪个组件的逻辑(
    react-router-dom
    library也是条件渲染的好方法)

我希望我能给你解释一下。请随便问一些问题

我就是这么想的。我基本上拥有您提到的结构,并且在使用params的两个组件时遇到了问题,但还无法找出导致问题的原因。下面是我关于这个问题的帖子:我另一篇帖子上的一条评论建议,在后续加载时,我可能不会总是点击
componentDidMount()
。当您第一次渲染组件时,您总是点击
componentDidMount()
。当呈现组件并仅更新它时,将调用
componentdiddupdate
。您可以尝试检查是否调用了
componentdiddupdate
,而不是
componentDidMount()
,现在已经很清楚了。我们是否点击了
componentDidMount()
,取决于该组件是否已安装或卸载。如果当我们返回组件时,它仍然被装载,我们不会点击
componentDidMount()
。如果通过加载另一个组件,原始组件被卸载,我们将在再次加载时再次点击
componentDidMount()
。您如何在每个组件之间导航?请提供我正在使用的@Code学徒react路由器。这是一个与另一个问题相关的问题,您可以在其中看到我的代码: