Skip to content

Commit b78f0b3

Browse files
committed
Replace getInstanceHandleFromPublicInstance with getNodeFromPublicInstance
1 parent c5b4b2b commit b78f0b3

File tree

4 files changed

+23
-32
lines changed

4 files changed

+23
-32
lines changed

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

+9-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
import type {ReactFabricHostComponent} from './ReactFabricPublicInstance';
11+
import {getNodeFromInternalInstanceHandle} from './ReactNativePublicCompat';
1112

1213
/**
1314
* IMPORTANT: This module is used in Paper and Fabric. It needs to be defined
@@ -22,8 +23,14 @@ export function getNativeTagFromPublicInstance(
2223
return publicInstance.__nativeTag;
2324
}
2425

25-
export function getInternalInstanceHandleFromPublicInstance(
26+
export function getNodeFromPublicInstance(
2627
publicInstance: ReactFabricHostComponent,
2728
): mixed {
28-
return publicInstance.__internalInstanceHandle;
29+
if (publicInstance.__internalInstanceHandle == null) {
30+
return null;
31+
}
32+
33+
return getNodeFromInternalInstanceHandle(
34+
publicInstance.__internalInstanceHandle,
35+
);
2936
}

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

+2-7
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {HostComponent} from 'react-reconciler/src/ReactWorkTags';
2020
import {UIManager} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
2121
import {enableGetInspectorDataForInstanceInProduction} from 'shared/ReactFeatureFlags';
2222
import {getClosestInstanceFromNode} from './ReactNativeComponentTree';
23-
import {getInternalInstanceHandleFromPublicInstance} from './ReactFabricPublicInstanceUtils';
23+
import {getNodeFromPublicInstance} from './ReactFabricPublicInstanceUtils';
2424
import {getNodeFromInternalInstanceHandle} from './ReactNativePublicCompat';
2525

2626
const emptyObject = {};
@@ -196,12 +196,7 @@ function getInspectorDataForViewAtPoint(
196196
if (__DEV__) {
197197
let closestInstance = null;
198198

199-
const fabricInstanceHandle =
200-
getInternalInstanceHandleFromPublicInstance(inspectedView);
201-
const fabricNode =
202-
fabricInstanceHandle != null
203-
? getNodeFromInternalInstanceHandle(fabricInstanceHandle)
204-
: null;
199+
const fabricNode = getNodeFromPublicInstance(inspectedView);
205200
if (fabricNode) {
206201
// For Fabric we can look up the instance handle directly and measure it.
207202
nativeFabricUIManager.findNodeAtPoint(

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

+7-15
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import ReactSharedInternals from 'shared/ReactSharedInternals';
2424
import getComponentNameFromType from 'shared/getComponentNameFromType';
2525

2626
import {
27-
getInternalInstanceHandleFromPublicInstance,
27+
getNodeFromPublicInstance,
2828
getNativeTagFromPublicInstance,
2929
} from './ReactFabricPublicInstanceUtils';
3030

@@ -176,14 +176,10 @@ export function dispatchCommand(
176176
return;
177177
}
178178

179-
const internalInstanceHandle =
180-
getInternalInstanceHandleFromPublicInstance(handle);
179+
const node = getNodeFromPublicInstance(handle);
181180

182-
if (internalInstanceHandle != null) {
183-
const node = getNodeFromInternalInstanceHandle(internalInstanceHandle);
184-
if (node != null) {
185-
nativeFabricUIManager.dispatchCommand(node, command, args);
186-
}
181+
if (node != null) {
182+
nativeFabricUIManager.dispatchCommand(node, command, args);
187183
} else {
188184
UIManager.dispatchViewManagerCommand(nativeTag, command, args);
189185
}
@@ -204,13 +200,9 @@ export function sendAccessibilityEvent(handle: any, eventType: string) {
204200
return;
205201
}
206202

207-
const internalInstanceHandle =
208-
getInternalInstanceHandleFromPublicInstance(handle);
209-
if (internalInstanceHandle != null) {
210-
const node = getNodeFromInternalInstanceHandle(internalInstanceHandle);
211-
if (node != null) {
212-
nativeFabricUIManager.sendAccessibilityEvent(node, eventType);
213-
}
203+
const node = getNodeFromPublicInstance(handle);
204+
if (node != null) {
205+
nativeFabricUIManager.sendAccessibilityEvent(node, eventType);
214206
} else {
215207
legacySendAccessibilityEvent(nativeTag, eventType);
216208
}

packages/react-native-renderer/src/__tests__/ReactFabric-test.internal.js

+5-8
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ let createReactNativeComponentClass;
1616
let StrictMode;
1717
let act;
1818
let getNativeTagFromPublicInstance;
19-
let getInternalInstanceHandleFromPublicInstance;
19+
let getNodeFromPublicInstance;
2020

2121
const DISPATCH_COMMAND_REQUIRES_HOST_COMPONENT =
2222
"Warning: dispatchCommand was called with a ref that isn't a " +
@@ -44,8 +44,8 @@ describe('ReactFabric', () => {
4444
.ReactNativeViewConfigRegistry.register;
4545
getNativeTagFromPublicInstance =
4646
require('../ReactFabricPublicInstanceUtils').getNativeTagFromPublicInstance;
47-
getInternalInstanceHandleFromPublicInstance =
48-
require('../ReactFabricPublicInstanceUtils').getInternalInstanceHandleFromPublicInstance;
47+
getNodeFromPublicInstance =
48+
require('../ReactFabricPublicInstanceUtils').getNodeFromPublicInstance;
4949

5050
act = require('internal-test-utils').act;
5151
});
@@ -1032,10 +1032,7 @@ describe('ReactFabric', () => {
10321032
nativeFabricUIManager.createNode.mock.results[0].value;
10331033
expect(expectedShadowNode).toEqual(expect.any(Object));
10341034

1035-
const internalInstanceHandle =
1036-
getInternalInstanceHandleFromPublicInstance(viewRef);
1037-
expect(
1038-
ReactFabric.getNodeFromInternalInstanceHandle(internalInstanceHandle),
1039-
).toBe(expectedShadowNode);
1035+
const node = getNodeFromPublicInstance(viewRef);
1036+
expect(node).toBe(expectedShadowNode);
10401037
});
10411038
});

0 commit comments

Comments
 (0)