@@ -74,6 +74,7 @@ import {
7474 enableCustomElementPropertySupport ,
7575 enableClientRenderFallbackOnTextMismatch ,
7676 enableHostSingletons ,
77+ disableIEWorkarounds ,
7778} from 'shared/ReactFeatureFlags' ;
7879import {
7980 mediaEventTypes ,
@@ -132,7 +133,8 @@ if (__DEV__) {
132133 // normalized. Since it only affects IE, we're skipping style warnings
133134 // in that browser completely in favor of doing all that work.
134135 // See https://github.com/facebook/react/issues/11807
135- canDiffStyleForHydrationWarning = canUseDOM && ! document . documentMode ;
136+ canDiffStyleForHydrationWarning =
137+ disableIEWorkarounds || ( canUseDOM && ! document . documentMode ) ;
136138
137139 warnForPropDifference = function (
138140 propName : string ,
@@ -308,7 +310,11 @@ function setInitialDOMProperties(
308310 } else if ( propKey === DANGEROUSLY_SET_INNER_HTML ) {
309311 const nextHtml = nextProp ? nextProp [ HTML ] : undefined ;
310312 if ( nextHtml != null ) {
311- setInnerHTML ( domElement , nextHtml ) ;
313+ if ( disableIEWorkarounds ) {
314+ domElement . innerHTML = nextHtml ;
315+ } else {
316+ setInnerHTML ( domElement , nextHtml ) ;
317+ }
312318 }
313319 } else if ( propKey === CHILDREN ) {
314320 if ( typeof nextProp === 'string' ) {
@@ -366,7 +372,11 @@ function updateDOMProperties(
366372 if ( propKey === STYLE ) {
367373 setValueForStyles ( domElement , propValue ) ;
368374 } else if ( propKey === DANGEROUSLY_SET_INNER_HTML ) {
369- setInnerHTML ( domElement , propValue ) ;
375+ if ( disableIEWorkarounds ) {
376+ domElement . innerHTML = propValue ;
377+ } else {
378+ setInnerHTML ( domElement , propValue ) ;
379+ }
370380 } else if ( propKey === CHILDREN ) {
371381 setTextContent ( domElement , propValue ) ;
372382 } else {
0 commit comments