我们如何使用 componentWillUnmount() 方法从 DOM 中删除组件 React? [关闭]

Posted

技术标签:

【中文标题】我们如何使用 componentWillUnmount() 方法从 DOM 中删除组件 React? [关闭]【英文标题】:how to we can remove a component React from the DOM using componentWillUnmount() method? [closed] 【发布时间】:2020-04-28 19:18:07 【问题描述】:

我什么时候可以在我的 React 代码中使用以下方法? componentWillUnmount()

请举个例子。

【问题讨论】:

嗨!请使用tour(您将获得徽章!),环顾四周,并阅读help center,尤其是How do I ask a good question?,我还推荐Jon Skeet 的Writing the Perfect Question。恐怕不清楚你在问什么。 不调用那个方法。 React 在要卸载组件时执行此操作。详情见the documentation。 【参考方案1】:

如果您的意图是删除组件或元素,您应该通过条件渲染来完成,因此,更改渲染组件的状态。

【讨论】:

【参考方案2】:

“我什么时候可以在我的 React 代码中使用以下方法?componentWillUnmount()”:

我们希望在第一次将时钟渲染到 DOM 时设置一个计时器。这在 React 中称为“挂载”。

我们还想在 Clock 生成的 DOM 被删除时清除该计时器。这在 React 中称为“卸载”。

componentDidMount() 方法在组件输出被渲染到 DOM 后运行。这是设置计时器的好地方:

  componentDidMount() 
    this.timerID = setInterval(
      () => this.tick(),
      1000
    );
  

我们将在 componentWillUnmount() 生命周期方法中拆除计时器:

  componentWillUnmount() 
    clearInterval(this.timerID);
  

本质上,当您需要在当前看到的 DOM 被丢弃之前做某事时,就会使用 componentWillUnmount() 方法。在这种情况下,时钟将从 DOM 中删除,因此您希望在此之前停止计时器。

您可以在此处阅读有关生命周期方法的更多信息:https://reactjs.org/docs/state-and-lifecycle.html

【讨论】:

以上是关于我们如何使用 componentWillUnmount() 方法从 DOM 中删除组件 React? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我们如何使用贝宝支付流来拆分金额

我们如何使用 tapGesture 在 Tvos 中播放视频

我们如何/为啥使用 operator.abs

NSStringDrawingUsesDeviceMetrics 标志是啥意思,我们如何使用它?

如何使用Countifs函数动态统计

我们如何使用 AFNetworking 3.0 记录请求