File tree Expand file tree Collapse file tree 3 files changed +40
-4
lines changed
packages/react-native-renderer/src Expand file tree Collapse file tree 3 files changed +40
-4
lines changed Original file line number Diff line number Diff line change @@ -142,8 +142,10 @@ export default function(
142
142
return ;
143
143
}
144
144
145
+ const nativeTag =
146
+ maybeInstance . _nativeTag || maybeInstance . canonical . _nativeTag ;
145
147
const viewConfig : ReactNativeBaseComponentViewConfig < > =
146
- maybeInstance.viewConfig;
148
+ maybeInstance.viewConfig || maybeInstance.canonical.viewConfig ;
147
149
148
150
if (__DEV__) {
149
151
warnForStyleProps ( nativeProps , viewConfig . validAttributes ) ;
@@ -156,7 +158,7 @@ export default function(
156
158
// view invalidation for certain components (eg RCTTextInput) on iOS.
157
159
if (updatePayload != null) {
158
160
UIManager . updateView (
159
- maybeInstance . _nativeTag ,
161
+ nativeTag ,
160
162
viewConfig . uiViewClassName ,
161
163
updatePayload ,
162
164
) ;
Original file line number Diff line number Diff line change 12
12
13
13
let React ;
14
14
let ReactFabric ;
15
+ let createReactClass ;
15
16
let createReactNativeComponentClass ;
16
17
let UIManager ;
17
18
let FabricUIManager ;
18
19
let StrictMode ;
20
+ let NativeMethodsMixin ;
19
21
20
22
jest . mock ( 'shared/ReactFeatureFlags' , ( ) =>
21
23
require ( 'shared/forks/ReactFeatureFlags.native-oss' ) ,
@@ -30,8 +32,16 @@ describe('ReactFabric', () => {
30
32
ReactFabric = require ( 'react-native-renderer/fabric' ) ;
31
33
FabricUIManager = require ( 'FabricUIManager' ) ;
32
34
UIManager = require ( 'UIManager' ) ;
35
+ createReactClass = require ( 'create-react-class/factory' ) (
36
+ React . Component ,
37
+ React . isValidElement ,
38
+ new React . Component ( ) . updater ,
39
+ ) ;
33
40
createReactNativeComponentClass = require ( 'ReactNativeViewConfigRegistry' )
34
41
. register ;
42
+ NativeMethodsMixin =
43
+ ReactFabric . __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
44
+ . NativeMethodsMixin ;
35
45
} ) ;
36
46
37
47
it ( 'should be able to create and render a native component' , ( ) => {
@@ -169,7 +179,14 @@ describe('ReactFabric', () => {
169
179
}
170
180
}
171
181
172
- [ View , Subclass ] . forEach ( Component => {
182
+ const CreateClass = createReactClass ( {
183
+ mixins : [ NativeMethodsMixin ] ,
184
+ render : ( ) => {
185
+ return < View /> ;
186
+ } ,
187
+ } ) ;
188
+
189
+ [ View , Subclass , CreateClass ] . forEach ( Component => {
173
190
UIManager . updateView . mockReset ( ) ;
174
191
175
192
let viewRef ;
Original file line number Diff line number Diff line change 13
13
let React ;
14
14
let StrictMode ;
15
15
let ReactNative ;
16
+ let createReactClass ;
16
17
let createReactNativeComponentClass ;
17
18
let UIManager ;
19
+ let NativeMethodsMixin ;
18
20
19
21
describe ( 'ReactNative' , ( ) => {
20
22
beforeEach ( ( ) => {
@@ -24,8 +26,16 @@ describe('ReactNative', () => {
24
26
StrictMode = React . StrictMode ;
25
27
ReactNative = require ( 'react-native-renderer' ) ;
26
28
UIManager = require ( 'UIManager' ) ;
29
+ createReactClass = require ( 'create-react-class/factory' ) (
30
+ React . Component ,
31
+ React . isValidElement ,
32
+ new React . Component ( ) . updater ,
33
+ ) ;
27
34
createReactNativeComponentClass = require ( 'ReactNativeViewConfigRegistry' )
28
35
. register ;
36
+ NativeMethodsMixin =
37
+ ReactNative . __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
38
+ . NativeMethodsMixin ;
29
39
} ) ;
30
40
31
41
it ( 'should be able to create and render a native component' , ( ) => {
@@ -100,7 +110,14 @@ describe('ReactNative', () => {
100
110
}
101
111
}
102
112
103
- [ View , Subclass ] . forEach ( Component => {
113
+ const CreateClass = createReactClass ( {
114
+ mixins : [ NativeMethodsMixin ] ,
115
+ render : ( ) => {
116
+ return < View /> ;
117
+ } ,
118
+ } ) ;
119
+
120
+ [ View , Subclass , CreateClass ] . forEach ( Component => {
104
121
UIManager . updateView . mockReset ( ) ;
105
122
106
123
let viewRef ;
You can’t perform that action at this time.
0 commit comments