Skip to content

Commit ddbf8fd

Browse files
committed
DCE hooks code when flag is off
1 parent 8eca0ef commit ddbf8fd

File tree

5 files changed

+22
-5
lines changed

5 files changed

+22
-5
lines changed

packages/react-dom/src/server/ReactPartialRenderer.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import describeComponentFrame from 'shared/describeComponentFrame';
2525
import ReactSharedInternals from 'shared/ReactSharedInternals';
2626
import {
2727
warnAboutDeprecatedLifecycles,
28+
enableHooks,
2829
enableSuspenseServerRenderer,
2930
} from 'shared/ReactFeatureFlags';
3031

@@ -52,6 +53,7 @@ import {
5253
prepareToUseHooks,
5354
finishHooks,
5455
Dispatcher,
56+
DispatcherWithoutHooks,
5557
} from './ReactPartialRendererHooks';
5658
import {
5759
Namespaces,
@@ -819,7 +821,11 @@ class ReactDOMServerRenderer {
819821
return null;
820822
}
821823

822-
ReactCurrentOwner.currentDispatcher = Dispatcher;
824+
if (enableHooks) {
825+
ReactCurrentOwner.currentDispatcher = Dispatcher;
826+
} else {
827+
ReactCurrentOwner.currentDispatcher = DispatcherWithoutHooks;
828+
}
823829
try {
824830
let out = '';
825831
while (out.length < bytes) {

packages/react-dom/src/server/ReactPartialRendererHooks.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,3 +350,6 @@ export const Dispatcher = {
350350
// Effects are not run in the server environment.
351351
useEffect: noop,
352352
};
353+
export const DispatcherWithoutHooks = {
354+
readContext,
355+
};

packages/react-reconciler/src/ReactFiberDispatcher.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,6 @@ export const Dispatcher = {
3434
useRef,
3535
useState,
3636
};
37+
export const DispatcherWithoutHooks = {
38+
readContext,
39+
};

packages/react-reconciler/src/ReactFiberScheduler.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import {
5656
SimpleMemoComponent,
5757
} from 'shared/ReactWorkTags';
5858
import {
59+
enableHooks
5960
enableSchedulerTracing,
6061
enableProfilerTimer,
6162
enableUserTimingAPI,
@@ -164,7 +165,7 @@ import {
164165
commitDetachRef,
165166
commitPassiveHookEffects,
166167
} from './ReactFiberCommitWork';
167-
import {Dispatcher} from './ReactFiberDispatcher';
168+
import {Dispatcher, DispatcherWithoutHooks} from './ReactFiberDispatcher';
168169

169170
export type Thenable = {
170171
then(resolve: () => mixed, reject?: () => mixed): mixed,
@@ -1192,7 +1193,11 @@ function renderRoot(root: FiberRoot, isYieldy: boolean): void {
11921193
flushPassiveEffects();
11931194

11941195
isWorking = true;
1195-
ReactCurrentOwner.currentDispatcher = Dispatcher;
1196+
if (enableHooks) {
1197+
ReactCurrentOwner.currentDispatcher = Dispatcher;
1198+
} else {
1199+
ReactCurrentOwner.currentDispatcher = DispatcherWithoutHooks;
1200+
}
11961201

11971202
const expirationTime = root.nextExpirationTimeToWorkOn;
11981203

scripts/rollup/results.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@
5353
"filename": "react-dom.production.min.js",
5454
"bundleType": "UMD_PROD",
5555
"packageName": "react-dom",
56-
"size": 100367,
57-
"gzip": 32791
56+
"size": 105387,
57+
"gzip": 34584
5858
},
5959
{
6060
"filename": "react-dom.development.js",

0 commit comments

Comments
 (0)