From 84d0305f890dc60afec1cf3648428c57aa593f6e Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Tue, 9 Apr 2024 13:40:56 -0400 Subject: [PATCH] Push the async dispatcher if either feature is used for this flag Basically always but we currently don't actually need it for prod on the client. --- packages/react-reconciler/src/ReactFiberWorkLoop.js | 4 ++-- packages/react-server/src/ReactFizzServer.js | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js index 67d5b0a877..3c802c2564 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js @@ -1875,7 +1875,7 @@ function popDispatcher(prevDispatcher: any) { } function pushAsyncDispatcher() { - if (enableCache) { + if (enableCache || __DEV__ || !disableStringRefs) { const prevAsyncDispatcher = ReactSharedInternals.A; ReactSharedInternals.A = DefaultAsyncDispatcher; return prevAsyncDispatcher; @@ -1885,7 +1885,7 @@ function pushAsyncDispatcher() { } function popAsyncDispatcher(prevAsyncDispatcher: any) { - if (enableCache) { + if (enableCache || __DEV__ || !disableStringRefs) { ReactSharedInternals.A = prevAsyncDispatcher; } } diff --git a/packages/react-server/src/ReactFizzServer.js b/packages/react-server/src/ReactFizzServer.js index 04dcc1cf9e..8edfdaf949 100644 --- a/packages/react-server/src/ReactFizzServer.js +++ b/packages/react-server/src/ReactFizzServer.js @@ -144,6 +144,7 @@ import { enableRenderableContext, enableRefAsProp, disableDefaultPropsExceptForClasses, + disableStringRefs, } from 'shared/ReactFeatureFlags'; import assign from 'shared/assign'; @@ -3664,7 +3665,7 @@ export function performWork(request: Request): void { const prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = HooksDispatcher; let prevAsyncDispatcher = null; - if (enableCache) { + if (enableCache || __DEV__ || !disableStringRefs) { prevAsyncDispatcher = ReactSharedInternals.A; ReactSharedInternals.A = DefaultAsyncDispatcher; }