diff --git a/src/renderers/dom/client/ReactEventListener.js b/src/renderers/dom/client/ReactEventListener.js index d1e867db30b..c0196c3a4d7 100644 --- a/src/renderers/dom/client/ReactEventListener.js +++ b/src/renderers/dom/client/ReactEventListener.js @@ -22,6 +22,7 @@ var ReactUpdates = require('ReactUpdates'); var assign = require('Object.assign'); var getEventTarget = require('getEventTarget'); var getUnboundedScrollPosition = require('getUnboundedScrollPosition'); +var invariant = require('invariant'); var DOCUMENT_FRAGMENT_NODE_TYPE = 11; @@ -128,6 +129,12 @@ function handleTopLevelWithPath(bookKeeping) { // Jump to the root of this React render tree while (currentPathElementID !== newRootID) { i++; + invariant( + i < path.length, + 'Expected to find another React root ' + + 'before reaching end of event path (%s).', + path + ); currentPathElement = path[i]; currentPathElementID = ReactMount.getID(currentPathElement); }