Ref: https://github.com/facebook/react/issues/631#issuecomment-214909216

It's a little surprising that the codepath is even being hit, maybe that's a bug too, but there should clearly be some sort of `if` check in that area.

}
    this.unmountChildren(safely);
    ReactDOMComponentTree.uncacheNode(this);
    EventPluginHub.deleteAllListeners(this);
    ReactComponentBrowserEnvironment.unmountIDFromEnvironment(this._rootNodeID);
    this._rootNodeID = null;
    this._domID = null;
    this._wrapperState = null;
    if (__DEV__) {
      if (this._contentDebugID) {
        ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);
        this._contentDebugID = null;
      }
    }
  },
  getPublicInstance: function() {
    return getNode(this);
  },
};
ReactPerf.measureMethods(ReactDOMComponent.Mixin, 'ReactDOMComponent', {
  mountComponent: 'mountComponent',
  receiveComponent: 'receiveComponent',
});
Object.assign(
  ReactDOMComponent.prototype,
  ReactDOMComponent.Mixin,
  ReactMultiChild.Mixin
);
module.exports = ReactDOMComponent;