mirror of
https://github.com/hanzoai/react.git
synced 2026-09-24 17:02:27 +00:00
Land enableSelectiveHydration flag (#24406)
This flag is already enabled on all relevant surfaces. We can remove it.
This commit is contained in:
+43
-50
@@ -14,10 +14,7 @@ import type {EventSystemFlags} from './EventSystemFlags';
|
||||
import type {FiberRoot} from 'react-reconciler/src/ReactInternalTypes';
|
||||
import type {EventPriority} from 'react-reconciler/src/ReactEventPriorities';
|
||||
|
||||
import {
|
||||
enableSelectiveHydration,
|
||||
enableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay,
|
||||
} from 'shared/ReactFeatureFlags';
|
||||
import {enableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay} from 'shared/ReactFeatureFlags';
|
||||
import {
|
||||
unstable_scheduleCallback as scheduleCallback,
|
||||
unstable_NormalPriority as NormalPriority,
|
||||
@@ -204,27 +201,25 @@ export function queueDiscreteEvent(
|
||||
nativeEvent,
|
||||
);
|
||||
queuedDiscreteEvents.push(queuedEvent);
|
||||
if (enableSelectiveHydration) {
|
||||
if (queuedDiscreteEvents.length === 1) {
|
||||
// If this was the first discrete event, we might be able to
|
||||
// synchronously unblock it so that preventDefault still works.
|
||||
while (queuedEvent.blockedOn !== null) {
|
||||
const fiber = getInstanceFromNode(queuedEvent.blockedOn);
|
||||
if (fiber === null) {
|
||||
break;
|
||||
}
|
||||
attemptSynchronousHydration(fiber);
|
||||
if (queuedEvent.blockedOn === null) {
|
||||
// We got unblocked by hydration. Let's try again.
|
||||
replayUnblockedEvents();
|
||||
// If we're reblocked, on an inner boundary, we might need
|
||||
// to attempt hydrating that one.
|
||||
continue;
|
||||
} else {
|
||||
// We're still blocked from hydration, we have to give up
|
||||
// and replay later.
|
||||
break;
|
||||
}
|
||||
if (queuedDiscreteEvents.length === 1) {
|
||||
// If this was the first discrete event, we might be able to
|
||||
// synchronously unblock it so that preventDefault still works.
|
||||
while (queuedEvent.blockedOn !== null) {
|
||||
const fiber = getInstanceFromNode(queuedEvent.blockedOn);
|
||||
if (fiber === null) {
|
||||
break;
|
||||
}
|
||||
attemptSynchronousHydration(fiber);
|
||||
if (queuedEvent.blockedOn === null) {
|
||||
// We got unblocked by hydration. Let's try again.
|
||||
replayUnblockedEvents();
|
||||
// If we're reblocked, on an inner boundary, we might need
|
||||
// to attempt hydrating that one.
|
||||
continue;
|
||||
} else {
|
||||
// We're still blocked from hydration, we have to give up
|
||||
// and replay later.
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -428,33 +423,31 @@ function attemptExplicitHydrationTarget(
|
||||
}
|
||||
|
||||
export function queueExplicitHydrationTarget(target: Node): void {
|
||||
if (enableSelectiveHydration) {
|
||||
// TODO: This will read the priority if it's dispatched by the React
|
||||
// event system but not native events. Should read window.event.type, like
|
||||
// we do for updates (getCurrentEventPriority).
|
||||
const updatePriority = getCurrentUpdatePriority();
|
||||
const queuedTarget: QueuedHydrationTarget = {
|
||||
blockedOn: null,
|
||||
target: target,
|
||||
priority: updatePriority,
|
||||
};
|
||||
let i = 0;
|
||||
for (; i < queuedExplicitHydrationTargets.length; i++) {
|
||||
// Stop once we hit the first target with lower priority than
|
||||
if (
|
||||
!isHigherEventPriority(
|
||||
updatePriority,
|
||||
queuedExplicitHydrationTargets[i].priority,
|
||||
)
|
||||
) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);
|
||||
if (i === 0) {
|
||||
attemptExplicitHydrationTarget(queuedTarget);
|
||||
// TODO: This will read the priority if it's dispatched by the React
|
||||
// event system but not native events. Should read window.event.type, like
|
||||
// we do for updates (getCurrentEventPriority).
|
||||
const updatePriority = getCurrentUpdatePriority();
|
||||
const queuedTarget: QueuedHydrationTarget = {
|
||||
blockedOn: null,
|
||||
target: target,
|
||||
priority: updatePriority,
|
||||
};
|
||||
let i = 0;
|
||||
for (; i < queuedExplicitHydrationTargets.length; i++) {
|
||||
// Stop once we hit the first target with lower priority than
|
||||
if (
|
||||
!isHigherEventPriority(
|
||||
updatePriority,
|
||||
queuedExplicitHydrationTargets[i].priority,
|
||||
)
|
||||
) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);
|
||||
if (i === 0) {
|
||||
attemptExplicitHydrationTarget(queuedTarget);
|
||||
}
|
||||
}
|
||||
|
||||
function attemptReplayContinuousQueuedEvent(
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
// Flags that can likely be deleted or landed without consequences
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
export const enableSelectiveHydration = true;
|
||||
export const warnAboutDeprecatedLifecycles = true;
|
||||
export const enableComponentStackLocations = true;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
|
||||
@@ -26,7 +26,6 @@ export const enableProfilerCommitHooks = __PROFILE__;
|
||||
export const enableProfilerNestedUpdatePhase = __PROFILE__;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = __PROFILE__;
|
||||
export const enableSelectiveHydration = false;
|
||||
export const enableCache = false;
|
||||
export const enableCacheElement = true;
|
||||
export const enableSchedulerDebugging = false;
|
||||
|
||||
@@ -20,7 +20,6 @@ export const enableProfilerCommitHooks = __PROFILE__;
|
||||
export const enableProfilerNestedUpdatePhase = __PROFILE__;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = __PROFILE__;
|
||||
export const enableSelectiveHydration = false;
|
||||
export const enableCache = false;
|
||||
export const enableCacheElement = false;
|
||||
export const disableJavaScriptURLs = false;
|
||||
|
||||
@@ -20,7 +20,6 @@ export const enableProfilerCommitHooks = __PROFILE__;
|
||||
export const enableProfilerNestedUpdatePhase = __PROFILE__;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = false;
|
||||
export const enableSelectiveHydration = false;
|
||||
export const enableCache = __EXPERIMENTAL__;
|
||||
export const enableCacheElement = __EXPERIMENTAL__;
|
||||
export const disableJavaScriptURLs = false;
|
||||
|
||||
@@ -20,7 +20,6 @@ export const enableProfilerCommitHooks = __PROFILE__;
|
||||
export const enableProfilerNestedUpdatePhase = __PROFILE__;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = false;
|
||||
export const enableSelectiveHydration = false;
|
||||
export const enableCache = true;
|
||||
export const enableCacheElement = true;
|
||||
export const disableJavaScriptURLs = false;
|
||||
|
||||
@@ -20,7 +20,6 @@ export const enableProfilerCommitHooks = __PROFILE__;
|
||||
export const enableProfilerNestedUpdatePhase = __PROFILE__;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = false;
|
||||
export const enableSelectiveHydration = false;
|
||||
export const enableCache = true;
|
||||
export const enableCacheElement = true;
|
||||
export const enableSchedulerDebugging = false;
|
||||
|
||||
@@ -20,7 +20,6 @@ export const enableProfilerCommitHooks = __PROFILE__;
|
||||
export const enableProfilerNestedUpdatePhase = __PROFILE__;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = false;
|
||||
export const enableSelectiveHydration = false;
|
||||
export const enableCache = __EXPERIMENTAL__;
|
||||
export const enableCacheElement = __EXPERIMENTAL__;
|
||||
export const disableJavaScriptURLs = false;
|
||||
|
||||
@@ -20,7 +20,6 @@ export const enableProfilerCommitHooks = false;
|
||||
export const enableProfilerNestedUpdatePhase = false;
|
||||
export const enableProfilerNestedUpdateScheduledHook = false;
|
||||
export const enableUpdaterTracking = false;
|
||||
export const enableSelectiveHydration = true;
|
||||
export const enableCache = true;
|
||||
export const enableCacheElement = true;
|
||||
export const disableJavaScriptURLs = true;
|
||||
|
||||
@@ -67,7 +67,6 @@ export const disableLegacyContext = __EXPERIMENTAL__;
|
||||
export const warnAboutStringRefs = false;
|
||||
export const warnAboutDefaultPropsOnFunctionComponents = false;
|
||||
export const enableGetInspectorDataForInstanceInProduction = false;
|
||||
export const enableSelectiveHydration = true;
|
||||
|
||||
export const enableCache = true;
|
||||
export const enableCacheElement = true;
|
||||
|
||||
Reference in New Issue
Block a user