Skip to content

Commit 959ce8a

Browse files
awearySimek
authored andcommitted
Remove injectComponentTree from unstable-native-dependencies, add EventPluginHub (facebook#13598)
* Remove injectComponentTree from unstable-native-dependencies, add EventPluginHub injectComponentTree was exposed for react-native-web, but wasn't actually being used by the project. They were using EventPluginHub through ReactDOM's secret internals, but that was removed in facebook#13539 This removes the unused injectComponentTree export, refactors the ResponderEventPlugin test so it doesn't depend on it, and also adds EventPluginHub to the exports to unbreak react-native-web * Re-export injectEventPluginsByName from ReactDOM internals
1 parent 069f57c commit 959ce8a

File tree

5 files changed

+201
-194
lines changed

5 files changed

+201
-194
lines changed

packages/events/__tests__/ResponderEventPlugin-test.internal.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,21 @@
1212
const {HostComponent} = require('shared/ReactWorkTags');
1313

1414
let EventPluginHub;
15+
let EventPluginUtils;
1516
let ResponderEventPlugin;
1617

1718
const touch = function(nodeHandle, i) {
1819
return {target: nodeHandle, identifier: i};
1920
};
2021

22+
function injectComponentTree(ComponentTree) {
23+
EventPluginUtils.setComponentTree(
24+
ComponentTree.getFiberCurrentPropsFromNode,
25+
ComponentTree.getInstanceFromNode,
26+
ComponentTree.getNodeFromInstance,
27+
);
28+
}
29+
2130
/**
2231
* @param {NodeHandle} nodeHandle @see NodeHandle. Handle of target.
2332
* @param {Array<Touch>} touches All active touches.
@@ -395,8 +404,7 @@ describe('ResponderEventPlugin', () => {
395404

396405
const ReactDOMUnstableNativeDependencies = require('react-dom/unstable-native-dependencies');
397406
EventPluginHub = require('events/EventPluginHub');
398-
const injectComponentTree =
399-
ReactDOMUnstableNativeDependencies.injectComponentTree;
407+
EventPluginUtils = require('events/EventPluginUtils');
400408
ResponderEventPlugin =
401409
ReactDOMUnstableNativeDependencies.ResponderEventPlugin;
402410

packages/react-dom/src/client/ReactDOM.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,7 @@ const ReactDOM: Object = {
745745
ReactDOMComponentTree.getInstanceFromNode,
746746
ReactDOMComponentTree.getNodeFromInstance,
747747
ReactDOMComponentTree.getFiberCurrentPropsFromNode,
748+
EventPluginHub.injection.injectEventPluginsByName,
748749
EventPluginRegistry.eventNameDispatchConfigs,
749750
EventPropagators.accumulateTwoPhaseDispatches,
750751
EventPropagators.accumulateDirectDispatches,

packages/react-dom/src/test-utils/ReactTestUtils.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const [
3131
/* eslint-disable no-unused-vars */
3232
getNodeFromInstance,
3333
getFiberCurrentPropsFromNode,
34+
injectEventPluginsByName,
3435
/* eslint-enable no-unused-vars */
3536
eventNameDispatchConfigs,
3637
accumulateTwoPhaseDispatches,

packages/react-dom/src/unstable-native-dependencies/ReactDOMUnstableNativeDependencies.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,23 @@ import * as EventPluginUtils from 'events/EventPluginUtils';
1010
import ResponderEventPlugin from 'events/ResponderEventPlugin';
1111
import ResponderTouchHistoryStore from 'events/ResponderTouchHistoryStore';
1212

13-
// This is used by react-native-web.
14-
export function injectComponentTree(ComponentTree) {
15-
EventPluginUtils.setComponentTree(
16-
ComponentTree.getFiberCurrentPropsFromNode,
17-
ComponentTree.getInstanceFromNode,
18-
ComponentTree.getNodeFromInstance,
19-
);
20-
}
21-
22-
export {ResponderEventPlugin, ResponderTouchHistoryStore};
23-
2413
// Inject react-dom's ComponentTree into this module.
2514
// Keep in sync with ReactDOM.js and ReactTestUtils.js:
2615
const [
2716
getInstanceFromNode,
2817
getNodeFromInstance,
2918
getFiberCurrentPropsFromNode,
19+
injectEventPluginsByName,
3020
] = ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Events;
21+
3122
EventPluginUtils.setComponentTree(
3223
getFiberCurrentPropsFromNode,
3324
getInstanceFromNode,
3425
getNodeFromInstance,
3526
);
27+
28+
export {
29+
ResponderEventPlugin,
30+
ResponderTouchHistoryStore,
31+
injectEventPluginsByName,
32+
};

0 commit comments

Comments
 (0)