javascript - ReactJs 如何知道组件何时从 DOM 中删除

标签 javascript reactjs

我目前遇到了 React 的问题。我需要知道组件何时从 DOM 中删除。

我在组件生命周期中找到的只是 componentWillUnmount ,它在组件从 DOM 中删除之前被调用。

有什么办法可以用 React 来实现这一点吗? 用纯 JavaScript 编写?

谢谢。

[编辑]

@jpdelatorre “纯 javascript” === 不使用库 ;-)

我的用例是在 React 组件中使用 jsPlumb。

基本上,jsPlumb 是一个在 DOM 中绘制 svg 并进行位置计算的库。

在我的主要组件中有一个项目列表。 每个项目都是一个组件。 在每个渲染的项目上,我使用 JsPlumb 在其上进行绘制。

但是...当我删除列表中的某个项目时,这些项目会更改 DOM 中的位置,因此我需要要求 jsPlumb 根据新位置重新绘制内容。这就是为什么我需要知道组件何时从 DOM 中完全删除。

最佳答案

componentWillUnmount 是正确的生命周期方法。正如您所说,它是在组件被删除之前触发的。如果您需要等待某些内容被删除,您可以使用 setTimeout 和一个较短的超时值来安排当前任务完成后的回调。

关于javascript - ReactJs 如何知道组件何时从 DOM 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40788115/

相关文章:

javascript - Cloud Functions 中间歇性身份验证错误

javascript - Python Flask-socketio 工作,不从 JS 客户端接收数据

javascript - 如何从 Javascript 生成 Vue 组件

javascript - 为什么我的按钮无法触发计时器?

javascript - 使用相同的表单更新添加的数据 | react 堆

javascript - 在 ES6 中组合多个导入结构

javascript - 如何清除以这种特定方式设置的间隔

javascript - 使用 HighCharts 更改向下钻取时的 X 轴标签

reactjs - 如何让 Telegram Instant View 等待页面呈现 javascript?

javascript - react 选定的对象,无法显示我想要的