diff --git a/packages/react-dom/src/__tests__/ReactDOMSuspensePlaceholder-test.js b/packages/react-dom/src/__tests__/ReactDOMSuspensePlaceholder-test.js
index 4b769aaebf927..d3fb9d0872da3 100644
--- a/packages/react-dom/src/__tests__/ReactDOMSuspensePlaceholder-test.js
+++ b/packages/react-dom/src/__tests__/ReactDOMSuspensePlaceholder-test.js
@@ -83,25 +83,25 @@ describe('ReactDOMSuspensePlaceholder', () => {
+
);
}
ReactDOM.render(
, container);
- expect(divs[0].current.style.display).toEqual('none !important');
- expect(divs[1].current.style.display).toEqual('none !important');
- expect(divs[2].current.style.display).toEqual('none !important');
+ expect(window.getComputedStyle(divs[0].current).display).toEqual('none');
+ expect(window.getComputedStyle(divs[1].current).display).toEqual('none');
+ expect(window.getComputedStyle(divs[2].current).display).toEqual('none');
await advanceTimers(500);
Scheduler.flushAll();
- expect(divs[0].current.style.display).toEqual('');
- expect(divs[1].current.style.display).toEqual('');
+ expect(window.getComputedStyle(divs[0].current).display).toEqual('block');
+ expect(window.getComputedStyle(divs[1].current).display).toEqual('block');
// This div's display was set with a prop.
- expect(divs[2].current.style.display).toEqual('block');
+ expect(window.getComputedStyle(divs[2].current).display).toEqual('inline');
});
it('hides and unhides timed out text nodes', async () => {
@@ -156,14 +156,14 @@ describe('ReactDOMSuspensePlaceholder', () => {
ReactDOM.render(
, container);
});
expect(container.innerHTML).toEqual(
- '
SiblingLoading...',
+ '
SiblingLoading...',
);
act(() => setIsVisible(true));
expect(container.innerHTML).toEqual(
- '
SiblingLoading...',
+ '
SiblingLoading...',
);
await advanceTimers(500);
diff --git a/packages/react-dom/src/client/ReactDOMHostConfig.js b/packages/react-dom/src/client/ReactDOMHostConfig.js
index a78ea6724902d..014397d29eec7 100644
--- a/packages/react-dom/src/client/ReactDOMHostConfig.js
+++ b/packages/react-dom/src/client/ReactDOMHostConfig.js
@@ -589,7 +589,12 @@ export function hideInstance(instance: Instance): void {
// TODO: Does this work for all element types? What about MathML? Should we
// pass host context to this method?
instance = ((instance: any): HTMLElement);
- instance.style.display = 'none !important';
+ const style = instance.style;
+ if (typeof style.setProperty === 'function') {
+ style.setProperty('display', 'none', 'important');
+ } else {
+ style.display = 'none';
+ }
}
export function hideTextInstance(textInstance: TextInstance): void {
diff --git a/packages/react-fresh/src/__tests__/ReactFresh-test.js b/packages/react-fresh/src/__tests__/ReactFresh-test.js
index 52cf32a2b4056..5ff47ae1155cb 100644
--- a/packages/react-fresh/src/__tests__/ReactFresh-test.js
+++ b/packages/react-fresh/src/__tests__/ReactFresh-test.js
@@ -1359,7 +1359,7 @@ describe('ReactFresh', () => {
const fallbackChild = container.childNodes[1];
expect(primaryChild.textContent).toBe('Content 1');
expect(primaryChild.style.color).toBe('green');
- expect(primaryChild.style.display).toBe('none !important');
+ expect(primaryChild.style.display).toBe('none');
expect(fallbackChild.textContent).toBe('Fallback 0');
expect(fallbackChild.style.color).toBe('green');
expect(fallbackChild.style.display).toBe('');
@@ -1373,7 +1373,7 @@ describe('ReactFresh', () => {
expect(container.childNodes[1]).toBe(fallbackChild);
expect(primaryChild.textContent).toBe('Content 1');
expect(primaryChild.style.color).toBe('green');
- expect(primaryChild.style.display).toBe('none !important');
+ expect(primaryChild.style.display).toBe('none');
expect(fallbackChild.textContent).toBe('Fallback 1');
expect(fallbackChild.style.color).toBe('green');
expect(fallbackChild.style.display).toBe('');
@@ -1397,7 +1397,7 @@ describe('ReactFresh', () => {
expect(container.childNodes[1]).toBe(fallbackChild);
expect(primaryChild.textContent).toBe('Content 1');
expect(primaryChild.style.color).toBe('red');
- expect(primaryChild.style.display).toBe('none !important');
+ expect(primaryChild.style.display).toBe('none');
expect(fallbackChild.textContent).toBe('Fallback 1');
expect(fallbackChild.style.color).toBe('red');
expect(fallbackChild.style.display).toBe('');