diff --git a/packages/react-dom/src/__tests__/ReactDOMSuspensePlaceholder-test.js b/packages/react-dom/src/__tests__/ReactDOMSuspensePlaceholder-test.js index 4b769aaebf92..d3fb9d0872da 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 a78ea6724902..014397d29eec 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 52cf32a2b405..5ff47ae1155c 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('');