From ad188a7ad6c7f71c9ea94911a0299a60968cdefc Mon Sep 17 00:00:00 2001 From: Charlie Croom Date: Thu, 11 Oct 2018 00:04:30 -0700 Subject: [PATCH] [fix] Memory leak in applyLayout registry Remove component instances from the layout registry when umounting views that are using ResizeObserver. Fix #1133 Close #1134 --- packages/react-native-web/src/modules/applyLayout/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-native-web/src/modules/applyLayout/index.js b/packages/react-native-web/src/modules/applyLayout/index.js index d6e8a1a4..aa0227ac 100644 --- a/packages/react-native-web/src/modules/applyLayout/index.js +++ b/packages/react-native-web/src/modules/applyLayout/index.js @@ -63,14 +63,15 @@ const observe = instance => { }; const unobserve = instance => { - delete registry[instance._layoutId]; if (resizeObserver) { const node = findNodeHandle(instance); if (node) { + delete registry[node._layoutId]; delete node._layoutId; resizeObserver.unobserve(node); } } else { + delete registry[instance._layoutId]; delete instance._layoutId; } };