diff --git a/packages/react-dom-bindings/src/server/ReactDOMFloatServer.js b/packages/react-dom-bindings/src/server/ReactDOMFloatServer.js index 2805b629d4b48..70d0119b84563 100644 --- a/packages/react-dom-bindings/src/server/ReactDOMFloatServer.js +++ b/packages/react-dom-bindings/src/server/ReactDOMFloatServer.js @@ -202,7 +202,7 @@ export function setCurrentlyRenderingBoundaryResourcesTarget( resources.boundaryResources = boundaryResources; } -export const ReactDOMServerDispatcher = { +export const ReactDOMServerFloatDispatcher = { preload, preinit, }; diff --git a/packages/react-dom-bindings/src/server/ReactDOMServerFormatConfig.js b/packages/react-dom-bindings/src/server/ReactDOMServerFormatConfig.js index c66292d801835..fde63fbc839a1 100644 --- a/packages/react-dom-bindings/src/server/ReactDOMServerFormatConfig.js +++ b/packages/react-dom-bindings/src/server/ReactDOMServerFormatConfig.js @@ -69,7 +69,7 @@ import { resourcesFromElement, resourcesFromLink, resourcesFromScript, - ReactDOMServerDispatcher, + ReactDOMServerFloatDispatcher, } from './ReactDOMFloatServer'; export { createResources, @@ -89,6 +89,10 @@ import { import ReactDOMSharedInternals from 'shared/ReactDOMSharedInternals'; const ReactDOMCurrentDispatcher = ReactDOMSharedInternals.Dispatcher; +const ReactDOMServerDispatcher = enableFloat + ? ReactDOMServerFloatDispatcher + : {}; + export function prepareToRender(resources: Resources): mixed { prepareToRenderResources(resources); diff --git a/packages/react-dom/src/__tests__/ReactDOMFloat-test.js b/packages/react-dom/src/__tests__/ReactDOMFloat-test.js index 6ce5b6617876d..36a288a67a008 100644 --- a/packages/react-dom/src/__tests__/ReactDOMFloat-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMFloat-test.js @@ -608,6 +608,7 @@ describe('ReactDOMFloat', () => { ]); }); + // @gate enableFloat it('dedupes if the external runtime is explicitly loaded using preinit', async () => { const unstable_externalRuntimeSrc = 'src-of-external-runtime'; function App() { @@ -5681,7 +5682,6 @@ describe('ReactDOMFloat', () => { ); }); - // @gate enableFloat it('should not treat title descendants of svg into resources', async () => { await actIntoEmptyDocument(() => { const {pipe} = renderToPipeableStream( diff --git a/packages/react-dom/src/__tests__/ReactDOMSingletonComponents-test.js b/packages/react-dom/src/__tests__/ReactDOMSingletonComponents-test.js index 0899d7d3c7871..026302c18cc27 100644 --- a/packages/react-dom/src/__tests__/ReactDOMSingletonComponents-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMSingletonComponents-test.js @@ -116,7 +116,7 @@ describe('ReactDOM HostSingleton', () => { : children; } - // @gate enableHostSingletons + // @gate enableHostSingletons && enableFloat it('warns if you render the same singleton twice at the same time', async () => { const root = ReactDOMClient.createRoot(document); root.render( @@ -201,7 +201,7 @@ describe('ReactDOM HostSingleton', () => { ); }); - // @gate enableHostSingletons + // @gate enableHostSingletons && enableFloat it('renders into html, head, and body persistently so the node identities never change and extraneous styles are retained', async () => { gate(flags => { if (flags.enableHostSingletons !== true) {