hidden nodes dont crash application on unmount anymore, hidden elements get correctly unobserved
This commit is contained in:
@@ -58,7 +58,7 @@
|
|||||||
const nodeType = type || 'default';
|
const nodeType = type || 'default';
|
||||||
|
|
||||||
let nodeRef: HTMLDivElement;
|
let nodeRef: HTMLDivElement;
|
||||||
let prevNodeRef: HTMLDivElement;
|
let prevNodeRef: HTMLDivElement | null = null;
|
||||||
|
|
||||||
const nodeTypeValid = !!$nodeTypes[nodeType];
|
const nodeTypeValid = !!$nodeTypes[nodeType];
|
||||||
|
|
||||||
@@ -129,11 +129,16 @@
|
|||||||
resizeObserver?.observe(nodeRef);
|
resizeObserver?.observe(nodeRef);
|
||||||
prevNodeRef = nodeRef;
|
prevNodeRef = nodeRef;
|
||||||
}
|
}
|
||||||
|
} else if (prevNodeRef) {
|
||||||
|
resizeObserver?.unobserve(prevNodeRef);
|
||||||
|
prevNodeRef = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onDestroy(() => {
|
onDestroy(() => {
|
||||||
resizeObserver?.unobserve(nodeRef);
|
if (prevNodeRef) {
|
||||||
|
resizeObserver?.unobserve(prevNodeRef);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function onSelectNodeHandler(event: MouseEvent | TouchEvent) {
|
function onSelectNodeHandler(event: MouseEvent | TouchEvent) {
|
||||||
|
|||||||
Reference in New Issue
Block a user