我需要在客户端检测到我的自定义javascript组件(在服务器端扩展AbstractJavaScriptComponent
)因任何原因被删除(例如Navigator
视图更改,... )为了做一些清理。
更准确地说,javascript组件是使用ReactJS实现的,我需要在适当的时候调用ReactDOM.unmountComponentAtNode(domContainerNode)
以在不再需要组件时执行清理。
最好的方法是什么?我无法在客户端连接器包装器上找到有关生命周期方法的任何信息。我觉得奇怪的是,Vaadin团队会忘记这一点,因为我确信它是SPA中的常见用例,以免泄漏内存。
答案 0 :(得分:0)
我想我可以从detach()
向客户端发出RPC调用,但我甚至不确定这是个好主意。
答案 1 :(得分:0)
如果可能,最好将其保留在客户端。
在Javascript连接器中,将onUnregister设置为回调函数。
path_to_my_js_connector = function() {
this.onUnregister = function () {
// put your unmount code here
}
}