[fix] Memory leak in applyLayout registry

Remove component instances from the layout registry when umounting views
that are using ResizeObserver.

Fix #1133
Close #1134
This commit is contained in:
Charlie Croom
2018-10-11 00:04:30 -07:00
committed by Nicolas Gallagher
parent bfaeae904e
commit ad188a7ad6
+2 -1
View File
@@ -63,14 +63,15 @@ const observe = instance => {
}; };
const unobserve = instance => { const unobserve = instance => {
delete registry[instance._layoutId];
if (resizeObserver) { if (resizeObserver) {
const node = findNodeHandle(instance); const node = findNodeHandle(instance);
if (node) { if (node) {
delete registry[node._layoutId];
delete node._layoutId; delete node._layoutId;
resizeObserver.unobserve(node); resizeObserver.unobserve(node);
} }
} else { } else {
delete registry[instance._layoutId];
delete instance._layoutId; delete instance._layoutId;
} }
}; };