mirror of
https://github.com/zebrajr/react.git
synced 2025-12-07 12:20:38 +01:00
When React schedules a rendering task, it passes a `timeout` option based on its expiration time. This is intended to avoid starvation by other React updates. However, it also affects the relative priority of React tasks and other Scheduler tasks at the same level, like data processing. This adds a feature flag to disable passing a `timeout` option to Scheduler. React tasks will always append themselves to the end of the queue, without jumping ahead of already scheduled tasks. This does not affect the order in which React updates within a single root are processed, but it could affect updates across multiple roots. This also doesn't remove the expiration from Scheduler. It only means that React tasks are not given special treatment.
51 lines
2.0 KiB
JavaScript
51 lines
2.0 KiB
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
import invariant from 'shared/invariant';
|
|
|
|
import typeof * as FeatureFlagsType from 'shared/ReactFeatureFlags';
|
|
import typeof * as FeatureFlagsShimType from './ReactFeatureFlags.native-oss';
|
|
|
|
export const debugRenderPhaseSideEffects = false;
|
|
export const debugRenderPhaseSideEffectsForStrictMode = false;
|
|
export const enableUserTimingAPI = __DEV__;
|
|
export const replayFailedUnitOfWorkWithInvokeGuardedCallback = __DEV__;
|
|
export const warnAboutDeprecatedLifecycles = true;
|
|
export const enableProfilerTimer = __PROFILE__;
|
|
export const enableSchedulerTracing = __PROFILE__;
|
|
export const enableSuspenseServerRenderer = false;
|
|
export const disableJavaScriptURLs = false;
|
|
export const disableInputAttributeSyncing = false;
|
|
export const enableStableConcurrentModeAPIs = false;
|
|
export const warnAboutShorthandPropertyCollision = false;
|
|
export const enableSchedulerDebugging = false;
|
|
export const warnAboutDeprecatedSetNativeProps = false;
|
|
export const enableFlareAPI = false;
|
|
export const enableFundamentalAPI = false;
|
|
export const enableJSXTransformAPI = false;
|
|
export const warnAboutUnmockedScheduler = false;
|
|
export const revertPassiveEffectsChange = false;
|
|
export const flushSuspenseFallbacksInTests = true;
|
|
export const enableUserBlockingEvents = false;
|
|
export const enableSuspenseCallback = false;
|
|
export const warnAboutDefaultPropsOnFunctionComponents = false;
|
|
export const disableLegacyContext = false;
|
|
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
|
|
|
// Only used in www builds.
|
|
export function addUserTimingListener() {
|
|
invariant(false, 'Not implemented.');
|
|
}
|
|
|
|
// Flow magic to verify the exports of this file match the original version.
|
|
// eslint-disable-next-line no-unused-vars
|
|
type Check<_X, Y: _X, X: Y = _X> = null;
|
|
// eslint-disable-next-line no-unused-expressions
|
|
(null: Check<FeatureFlagsShimType, FeatureFlagsType>);
|