我目前遇到了 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/