-
-
Notifications
You must be signed in to change notification settings - Fork 537
Closed
Description
My React app generates a JS bundle with browserify+babel (presets "react" and "es2015", and plugins "transform-runtime", "transform-object-assign" and "transform-object-rest-spread"), and it includes react-tooltip
.
When in Microsoft Edge 15, I get this error when the <Tooltip>
component is "rendered":
Object doesn't support property or method 'Symbol(Symbol.iterator)'
I know that there are some issues with Babel + Symbol and that, sometimes, a Babel polyfill is required (I don't use polyfills in my app but just Babel runtime transformations as listed above). However, Edge does natively support Symbol
. I mean: typeof Symbol() === "symbol"
and so on.
So no idea about the origin of this error. However it just happens when using react-tooltip
.
The error stack points to here (look for "// HERE"):
exports.default = function (target) {
target.prototype.bindRemovalTracker = function () {
var _this = this;
var MutationObserver = getMutationObserverClass();
if (MutationObserver == null) return;
var observer = new MutationObserver(function (mutations) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = mutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var mutation = _step.value;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = mutation.removedNodes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var element = _step2.value;
if (element === _this.state.currentTarget) {
_this.hideTooltip();
return;
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError; // HERE
}
}
}
});
observer.observe(window.document, { childList: true, subtree: true });
this.removalTracker = observer;
};
target.prototype.unbindRemovalTracker = function () {
if (this.removalTracker) {
this.removalTracker.disconnect();
this.removalTracker = null;
}
};
};
levenleven and pranavq212
Metadata
Metadata
Assignees
Labels
No labels