代码之家  ›  专栏  ›  技术社区  ›  Sam

重新加载组件时的componentDidMount()

  •  0
  • Sam  · 技术社区  · 6 年前

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

    我的简单问题是:

    如果我击中组件A,那么B,然后回到A,威尔 组件didmount() 在组件A中,在第二个组件上调用?

    当我读到文件时,它说 组件didmount() 只打一次电话 componentDidUpdate() 在所有组件更新中都会调用,但我不清楚这是否发生在我的应用程序的整个生命周期中。

    我正试图找出api调用的逻辑。我可能需要也可能不需要再次对组件A进行API调用,所以我有一些逻辑来处理它。只是想让我的逻辑为打电话工作。

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Szymon Pancerz    6 年前

    答案是肯定的,每次你切换你再次调用的组件 componentDidMount() . 更多关于这个的信息- https://reactjs.org/docs/react-component.html

    react中api调用的逻辑最像:

    • 创建在componentdidmount方法中调用api的容器。
    • 创建导入容器的外部哑组件,在 render() 方法并通过 props
    • 创建正在执行的逻辑现在应该调用哪个组件( react-router-dom 库也是条件呈现的好方法)

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