[fix] onLayout TypeError if node already unmounted

Close #993
This commit is contained in:
Johannes
2018-06-13 09:47:14 +02:00
committed by Nicolas Gallagher
parent 0e81c6ef27
commit e7613ca4d1
+8 -4
View File
@@ -52,8 +52,10 @@ const observe = instance => {
if (resizeObserver) { if (resizeObserver) {
const node = findNodeHandle(instance); const node = findNodeHandle(instance);
node._layoutId = id; if (node) {
resizeObserver.observe(node); node._layoutId = id;
resizeObserver.observe(node);
}
} else { } else {
instance._layoutId = id; instance._layoutId = id;
instance._handleLayout(); instance._handleLayout();
@@ -64,8 +66,10 @@ const unobserve = instance => {
delete registry[instance._layoutId]; delete registry[instance._layoutId];
if (resizeObserver) { if (resizeObserver) {
const node = findNodeHandle(instance); const node = findNodeHandle(instance);
delete node._layoutId; if (node) {
resizeObserver.unobserve(node); delete node._layoutId;
resizeObserver.unobserve(node);
}
} else { } else {
delete instance._layoutId; delete instance._layoutId;
} }