react-native:自定义组件将组件作为属性传递

时间:2016-06-04 20:29:28

标签: react-native react-native-text

我正在尝试扩展我能够传递反应组件(例如TextInput)的反应原生RCTTextFieldRCTTextFieldManager / <Picker >...</Picker>)一个属性(例如input),将设置为UITextInput s inputView属性。

我希望能够将react组件作为属性传递给本机组件,如下所示:

RCTTextFieldManager.m:

RCT_EXPORT_VIEW_PROPERTY(input, UIView)

Form.js

render() {
  return (
    <TextInput input={<Picker>...</Picker>} />
  )
}

这会导致以下错误:

2016-06-04 22:17:50.537 [fatal][tid:com.facebook.react.ShadowQueue] Exception '*** -[__NSArrayM insertObject:atIndex:]: index 3 beyond bounds [0 .. 1]' was thrown while invoking manageChildren on target RCTUIManager with params (
    9,
    "<null>",
    "<null>",
        (
        98
    ),
        (
        3
    ),
    "<null>"
)

(How)是否可以将react组件作为属性传递给本机组件?

1 个答案:

答案 0 :(得分:0)

在我看来。更好的方法是自定义您自己的UITextInput,并使用类似inputType的属性来决定应该显示哪个输入视图。