[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
@@ -52,8 +52,10 @@ const observe = instance => {
if (resizeObserver) { if (resizeObserver) {
const node = findNodeHandle(instance); const node = findNodeHandle(instance);
if (node) {
node._layoutId = id; node._layoutId = id;
resizeObserver.observe(node); 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);
if (node) {
delete node._layoutId; delete node._layoutId;
resizeObserver.unobserve(node); resizeObserver.unobserve(node);
}
} else { } else {
delete instance._layoutId; delete instance._layoutId;
} }