Fix circular module imports causing file size increase (#15231)
* Fix circular module imports causing file size increase
Dominic Gannaway committed
Mar 27, 2019 at 21:17 UTC
1cfd256685c673511090f7be273cf8740a9cf594
2 files changed
+15
-2
packages/react-dom/src/client/ReactDOMComponent.js
+6
@@ -15,6 +15,7 @@ import {canUseDOM} from 'shared/ExecutionEnvironment';
15
import warningWithoutStack from 'shared/warningWithoutStack';
16
import type {ReactEventResponderEventType} from 'shared/ReactTypes';
17
import type {DOMTopLevelEventType} from 'events/TopLevelEventTypes';
18
+import {setListenToResponderEventTypes} from '../events/DOMEventResponderSystem';
19
20
import {
21
getValueForAttribute,
@@ -1337,3 +1338,8 @@ export function listenToEventResponderEventTypes(
1338
}
1339
}
1340
}
1341
+
1342
+// We can remove this once the event API is stable and out of a flag
1343
+if (enableEventAPI) {
1344
+ setListenToResponderEventTypes(listenToEventResponderEventTypes);
1345
+}
packages/react-dom/src/events/DOMEventResponderSystem.js
+9
-2
@@ -24,11 +24,18 @@ import {interactiveUpdates} from 'events/ReactGenericBatching';
24
import {executeDispatch} from 'events/EventPluginUtils';
25
import type {Fiber} from 'react-reconciler/src/ReactFiber';
26
27
-import {listenToEventResponderEventTypes} from '../client/ReactDOMComponent';
27
import {getClosestInstanceFromNode} from '../client/ReactDOMComponentTree';
28
29
import {enableEventAPI} from 'shared/ReactFeatureFlags';
30
31
+let listenToResponderEventTypesImpl;
32
+
33
+export function setListenToResponderEventTypes(
34
+ _listenToResponderEventTypesImpl: Function,
35
+) {
36
+ listenToResponderEventTypesImpl = _listenToResponderEventTypesImpl;
37
+}
38
+
39
const rootEventTypesToEventComponents: Map<
40
DOMTopLevelEventType | string,
41
Set<Fiber>,
@@ -156,7 +163,7 @@ DOMEventResponderContext.prototype.addRootEventTypes = function(
163
rootEventTypes: Array<ReactEventResponderEventType>,
164
) {
165
const element = this.eventTarget.ownerDocument;
159
- listenToEventResponderEventTypes(rootEventTypes, element);
166
+ listenToResponderEventTypesImpl(rootEventTypes, element);
167
const eventComponent = this._fiber;
168
for (let i = 0; i < rootEventTypes.length; i++) {
169
const rootEventType = rootEventTypes[i];