mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use commands instead of setNativeProps for PickerAndroid
Summary: Fabric doesn't support setNativeProps, so we are using view commands instead. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D18044169 fbshipit-source-id: d5f199b930244d02f174ea8a7ef732e9a8ef2476
This commit is contained in:
1 parent
1e6e37a3a8
commit
e848b0036d
1 file changed
+18
-5
@@ -10,8 +10,12 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import AndroidDropdownPickerNativeComponent from './AndroidDropdownPickerNativeComponent';
|
||||
import AndroidDialogPickerNativeComponent from './AndroidDialogPickerNativeComponent';
|
||||
import AndroidDropdownPickerNativeComponent, {
|
||||
Commands as AndroidDropdownPickerCommands,
|
||||
} from './AndroidDropdownPickerNativeComponent';
|
||||
import AndroidDialogPickerNativeComponent, {
|
||||
Commands as AndroidDialogPickerCommands,
|
||||
} from './AndroidDialogPickerNativeComponent';
|
||||
import * as React from 'react';
|
||||
import StyleSheet from '../../StyleSheet/StyleSheet';
|
||||
import processColor from '../../StyleSheet/processColor';
|
||||
@@ -83,13 +87,22 @@ function PickerAndroid(props: Props): React.Node {
|
||||
onValueChange(null, position);
|
||||
}
|
||||
}
|
||||
|
||||
const {current} = pickerRef;
|
||||
if (current != null && position !== selected) {
|
||||
current.setNativeProps({selected});
|
||||
const Commands =
|
||||
props.mode === 'dropdown'
|
||||
? AndroidDropdownPickerCommands
|
||||
: AndroidDialogPickerCommands;
|
||||
Commands.setNativeSelectedPosition(current, selected);
|
||||
}
|
||||
},
|
||||
[props.children, props.onValueChange, props.selectedValue, selected],
|
||||
[
|
||||
props.children,
|
||||
props.onValueChange,
|
||||
props.selectedValue,
|
||||
props.mode,
|
||||
selected,
|
||||
],
|
||||
);
|
||||
|
||||
const rootProps = {
|
||||
|
||||
Reference in new issue
Block a user