[Float][Fizz] include `preloadModule` and `preinitModule` on `react-dom/server-rendering-stub` (#27347)
When implementing `preloadModule` and `preinitModule` these methods were not exposed on the server rendering stub when they should have been. This PR corrects that omission.
Josh Story committed
Sep 7, 2023 at 14:48 UTC
41f0e9dae3b81396dc29a4735b355ea318cc5772
3 files changed
+8
-2
packages/react-dom/server-rendering-stub.js
+2
@@ -21,7 +21,9 @@ export {
21
prefetchDNS,
22
preconnect,
23
preload,
24
+ preloadModule,
25
preinit,
26
+ preinitModule,
27
experimental_useFormStatus,
28
experimental_useFormState,
29
unstable_batchedUpdates,
packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js
+4
-2
@@ -39,15 +39,17 @@ describe('react-dom-server-rendering-stub', () => {
39
});
40
41
// @gate enableFloat
42
- it('provides preload and preinit exports', async () => {
42
+ it('provides preload, preloadModule, preinit, and preinitModule exports', async () => {
43
function App() {
44
ReactDOM.preload('foo', {as: 'style'});
45
+ ReactDOM.preloadModule('foomodule');
46
ReactDOM.preinit('bar', {as: 'style'});
47
+ ReactDOM.preinitModule('barmodule');
48
return <div>foo</div>;
49
}
50
const html = ReactDOMFizzServer.renderToString(<App />);
51
expect(html).toEqual(
50
- '<link rel="stylesheet" href="bar" data-precedence="default"/><link rel="preload" as="style" href="foo"/><div>foo</div>',
52
+ '<link rel="stylesheet" href="bar" data-precedence="default"/><script src="barmodule" type="module" async=""></script><link rel="preload" as="style" href="foo"/><link rel="modulepreload" href="foomodule"/><div>foo</div>',
53
);
54
});
55
packages/react-dom/src/server/ReactDOMServerRenderingStub.js
+2
@@ -9,7 +9,9 @@
9
10
export {
11
preinit,
12
+ preinitModule,
13
preload,
14
+ preloadModule,
15
preconnect,
16
prefetchDNS,
17
} from '../shared/ReactDOMFloat';