Skip to content

Commit bd070eb

Browse files
authored
Enable setJSResponder/setIsJSResponder for React Native Fabric (#21439)
* Enable setJSResponder/setIsJSResponder for React Native * yarn prettier * add types to react-native-host-hooks * yarn prettier * mock setIsJSResponder
1 parent 46ef1ab commit bd070eb

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

packages/react-native-renderer/src/ReactFabricGlobalResponderHandler.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,23 @@ const ReactFabricGlobalResponderHandler = {
1919
);
2020

2121
if (isFabric) {
22-
// Noop for now until setJSResponder/clearJSResponder are supported in Fabric
22+
if (from) {
23+
// equivalent to clearJSResponder
24+
nativeFabricUIManager.setIsJSResponder(
25+
from.stateNode.node,
26+
false,
27+
blockNativeResponder || false,
28+
);
29+
}
30+
31+
if (to) {
32+
// equivalent to setJSResponder
33+
nativeFabricUIManager.setIsJSResponder(
34+
to.stateNode.node,
35+
true,
36+
blockNativeResponder || false,
37+
);
38+
}
2339
} else {
2440
if (to !== null) {
2541
const tag = to.stateNode.canonical._nativeTag;

packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/InitializeNativeFabricUIManager.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ const RCTFabricUIManager = {
176176
);
177177
success(1, 1, 100, 100);
178178
}),
179+
setIsJSResponder: jest.fn(),
179180
};
180181

181182
global.nativeFabricUIManager = RCTFabricUIManager;

scripts/flow/react-native-host-hooks.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,11 @@ declare var nativeFabricUIManager: {
179179
locationY: number,
180180
callback: (Fiber) => void,
181181
) => void,
182+
setIsJSResponder: (
183+
node: Node,
184+
isJsResponder: boolean,
185+
blockNativeResponder: boolean,
186+
) => void,
182187
...
183188
};
184189

0 commit comments

Comments
 (0)