From e7613ca4d1604f2cf09db99007d6ce5412a8279a Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 13 Jun 2018 09:47:14 +0200 Subject: [PATCH] [fix] onLayout TypeError if node already unmounted Close #993 --- .../src/modules/applyLayout/index.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/react-native-web/src/modules/applyLayout/index.js b/packages/react-native-web/src/modules/applyLayout/index.js index cae2ad1c..4fd58ae3 100644 --- a/packages/react-native-web/src/modules/applyLayout/index.js +++ b/packages/react-native-web/src/modules/applyLayout/index.js @@ -52,8 +52,10 @@ const observe = instance => { if (resizeObserver) { const node = findNodeHandle(instance); - node._layoutId = id; - resizeObserver.observe(node); + if (node) { + node._layoutId = id; + resizeObserver.observe(node); + } } else { instance._layoutId = id; instance._handleLayout(); @@ -64,8 +66,10 @@ const unobserve = instance => { delete registry[instance._layoutId]; if (resizeObserver) { const node = findNodeHandle(instance); - delete node._layoutId; - resizeObserver.unobserve(node); + if (node) { + delete node._layoutId; + resizeObserver.unobserve(node); + } } else { delete instance._layoutId; }