Skip to content

Commit 247fbb4

Browse files
[Fizz] Fix non-script modulepreload tracking (react#36564)
1 parent e92ecef commit 247fbb4

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6556,7 +6556,7 @@ function preloadModule(
65566556
resumableState.moduleUnknownResources.hasOwnProperty(as);
65576557
let resources;
65586558
if (hasAsType) {
6559-
resources = resumableState.unknownResources[as];
6559+
resources = resumableState.moduleUnknownResources[as];
65606560
if (resources.hasOwnProperty(key)) {
65616561
// we can return if we already have this resource
65626562
return;

packages/react-dom/src/__tests__/ReactDOMFloat-test.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6532,6 +6532,34 @@ body {
65326532
);
65336533
});
65346534

6535+
it('preloads multiple non-script modules with the same as type', async () => {
6536+
function App() {
6537+
ReactDOM.preloadModule('serviceworker one', {as: 'serviceworker'});
6538+
ReactDOM.preloadModule('serviceworker two', {as: 'serviceworker'});
6539+
return <div>hello</div>;
6540+
}
6541+
6542+
await act(() => {
6543+
renderToPipeableStream(<App />).pipe(writable);
6544+
});
6545+
6546+
expect(getMeaningfulChildren(document.body)).toEqual(
6547+
<div id="container">
6548+
<link
6549+
rel="modulepreload"
6550+
href="serviceworker one"
6551+
as="serviceworker"
6552+
/>
6553+
<link
6554+
rel="modulepreload"
6555+
href="serviceworker two"
6556+
as="serviceworker"
6557+
/>
6558+
<div>hello</div>
6559+
</div>,
6560+
);
6561+
});
6562+
65356563
it('warns if you provide invalid arguments', async () => {
65366564
function App() {
65376565
ReactDOM.preloadModule();

0 commit comments

Comments
 (0)