diff --git a/packages/react-dom/src/client/ReactDOM.js b/packages/react-dom/src/client/ReactDOM.js index ee54497f232..2ca128485b6 100644 --- a/packages/react-dom/src/client/ReactDOM.js +++ b/packages/react-dom/src/client/ReactDOM.js @@ -37,6 +37,7 @@ import { attemptHydrationAtCurrentPriority, act, } from 'react-reconciler/inline.dom'; +import {getIsHydrating} from 'react-reconciler/src/ReactFiberHydrationContext'; import {createPortal as createPortalImpl} from 'shared/ReactPortal'; import {canUseDOM} from 'shared/ExecutionEnvironment'; import {setBatchingImplementation} from 'legacy-events/ReactGenericBatching'; @@ -56,6 +57,7 @@ import ReactVersion from 'shared/ReactVersion'; import invariant from 'shared/invariant'; import { exposeConcurrentModeAPIs, + disableLegacyReactDOMAPIs, disableUnstableCreatePortal, disableUnstableRenderSubtreeIntoContainer, warnUnstableRenderSubtreeIntoContainer, @@ -133,12 +135,6 @@ function createPortal( const ReactDOM: Object = { createPortal, - // Legacy - findDOMNode, - hydrate, - render, - unmountComponentAtNode, - unstable_batchedUpdates: batchedUpdates, flushSync: flushSync, @@ -166,6 +162,13 @@ const ReactDOM: Object = { version: ReactVersion, }; +if (!disableLegacyReactDOMAPIs) { + ReactDOM.findDOMNode = findDOMNode; + ReactDOM.hydrate = hydrate; + ReactDOM.render = render; + ReactDOM.unmountComponentAtNode = unmountComponentAtNode; +} + if (exposeConcurrentModeAPIs) { ReactDOM.createRoot = createRoot; ReactDOM.createBlockingRoot = createBlockingRoot; @@ -179,6 +182,8 @@ if (exposeConcurrentModeAPIs) { queueExplicitHydrationTarget(target); } }; + + ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.getIsHydrating = getIsHydrating; } if (!disableUnstableRenderSubtreeIntoContainer) { diff --git a/packages/react-dom/src/client/ReactDOMFB.js b/packages/react-dom/src/client/ReactDOMFB.js index a995f485578..877c7d2ea3f 100644 --- a/packages/react-dom/src/client/ReactDOMFB.js +++ b/packages/react-dom/src/client/ReactDOMFB.js @@ -7,7 +7,6 @@ * @flow */ -import {getIsHydrating} from 'react-reconciler/src/ReactFiberHydrationContext'; import {addUserTimingListener} from 'shared/ReactFeatureFlags'; import ReactDOM from './ReactDOM'; @@ -26,8 +25,6 @@ Object.assign( }, // Perf experiment addUserTimingListener, - - getIsHydrating, }, ); diff --git a/packages/react-dom/src/events/forks/EventListener-www.js b/packages/react-dom/src/events/forks/EventListener.www-classic.js similarity index 93% rename from packages/react-dom/src/events/forks/EventListener-www.js rename to packages/react-dom/src/events/forks/EventListener.www-classic.js index 99b337f0e78..c433976289f 100644 --- a/packages/react-dom/src/events/forks/EventListener-www.js +++ b/packages/react-dom/src/events/forks/EventListener.www-classic.js @@ -10,7 +10,7 @@ const EventListenerWWW = require('EventListener'); import typeof * as EventListenerType from '../EventListener'; -import typeof * as EventListenerShimType from './EventListener-www'; +import typeof * as EventListenerShimType from './EventListener.www-classic'; export function addEventBubbleListener( element: Element, diff --git a/packages/react-reconciler/src/ReactFiber.js b/packages/react-reconciler/src/ReactFiber.js index 792cd1def4d..a5111621992 100644 --- a/packages/react-reconciler/src/ReactFiber.js +++ b/packages/react-reconciler/src/ReactFiber.js @@ -425,7 +425,9 @@ export function createWorkInProgress( if (__DEV__) { // DEV-only fields - workInProgress._debugID = current._debugID; + if (enableUserTimingAPI) { + workInProgress._debugID = current._debugID; + } workInProgress._debugSource = current._debugSource; workInProgress._debugOwner = current._debugOwner; workInProgress._debugHookTypes = current._debugHookTypes; @@ -958,7 +960,9 @@ export function assignFiberPropertiesInDEV( target.selfBaseDuration = source.selfBaseDuration; target.treeBaseDuration = source.treeBaseDuration; } - target._debugID = source._debugID; + if (enableUserTimingAPI) { + target._debugID = source._debugID; + } target._debugSource = source._debugSource; target._debugOwner = source._debugOwner; target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming; diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index c73997f1dce..ad9c544c06a 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -114,6 +114,8 @@ export const disableLegacyContext = false; // Disables React.createFactory export const disableCreateFactory = false; +export const disableLegacyReactDOMAPIs = false; + // Disables children for