**Do you want to request a *feature* or report a *bug*?**

bug

**What is the current behavior?**

React interactivity lost, React crash?

**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/ebsrpraL/).**

Run with react-dom.development.js in IE11, not sure exactly what the exact repo steps are the fix I've attempted for IE11 was to simply pass an empty string.

~~~
var normalizeHTML = function (parent, html) {
    if (!testDocument) {
      testDocument = document.implementation.createHTMLDocument(""); // fix for IE11 here
    }
    var testElement = parent.namespaceURI === HTML_NAMESPACE ? testDocument.createElement(parent.tagName) : testDocument.createElementNS(parent.namespaceURI, parent.tagName);
    testElement.innerHTML = html;
    return testElement.innerHTML;
  };
}
~~~

Source https://github.com/facebook/react/blob/e932ad68bed656eed5295b61ba74e5d0857902ed/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L133-L146

MDN docs [here](https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createHTMLDocument).

**What is the expected behavior?**

Well, that React does not crash in dev mode and that interactively continues to work.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

`react@16.0.0` IE11
if (nextProp != null) {
          
          if (__DEV__ && typeof nextProp !== 'function') {
            warnForInvalidEventListener(propKey, nextProp);
          }
          ensureListeningTo(rootContainerElement, propKey);
        }
        if (!updatePayload && lastProp !== nextProp) {
          
          
          
          updatePayload = [];
        }
      } else {
        
        
        (updatePayload = updatePayload || []).push(propKey, nextProp);
      }
    }
    if (styleUpdates) {
      (updatePayload = updatePayload || []).push(STYLE, styleUpdates);
    }
    return updatePayload;
  },
  
  updateProperties(
    domElement: Element,
    updatePayload: Array<any>,
    tag: string,
    lastRawProps: Object,