Use the canonical nativeTag for Fabric's setNativeProps (#14900)
* Use the canonical nativeTag for Fabric's setNativeProps * Fix prettier
Eli White committed
Feb 20, 2019 at 11:09 UTC
b96b61dc4dc9df51532c04b91c53ccdfc84519a8
3 files changed
+13
-1
packages/react-native-renderer/src/ReactNativeComponent.js
+3
-1
@@ -153,6 +153,8 @@ export default function(
153
return;
154
}
155
156
+ const nativeTag =
157
+ maybeInstance._nativeTag || maybeInstance.canonical._nativeTag;
158
const viewConfig: ReactNativeBaseComponentViewConfig<> =
159
maybeInstance.viewConfig || maybeInstance.canonical.viewConfig;
160
@@ -163,7 +165,7 @@ export default function(
165
// view invalidation for certain components (eg RCTTextInput) on iOS.
166
if (updatePayload != null) {
167
UIManager.updateView(
166
- maybeInstance._nativeTag,
168
+ nativeTag,
169
viewConfig.uiViewClassName,
170
updatePayload,
171
);
packages/react-native-renderer/src/__tests__/ReactFabric-test.internal.js
+5
@@ -189,6 +189,11 @@ describe('ReactFabric', () => {
189
190
viewRef.setNativeProps({foo: 'baz'});
191
expect(UIManager.updateView).toHaveBeenCalledTimes(1);
192
+ expect(UIManager.updateView).toHaveBeenCalledWith(
193
+ expect.any(Number),
194
+ 'RCTView',
195
+ {foo: 'baz'},
196
+ );
197
});
198
});
199
packages/react-native-renderer/src/__tests__/ReactNativeMount-test.internal.js
+5
@@ -120,6 +120,11 @@ describe('ReactNative', () => {
120
121
viewRef.setNativeProps({foo: 'baz'});
122
expect(UIManager.updateView).toHaveBeenCalledTimes(1);
123
+ expect(UIManager.updateView).toHaveBeenCalledWith(
124
+ expect.any(Number),
125
+ 'RCTView',
126
+ {foo: 'baz'},
127
+ );
128
});
129
});
130