我正在使用 React Native 0.57.8
和 React 16.7.0
。我正在为 Android TV 创建一个屏幕键盘,它将用作一个库。我有一个 TextInput
我已为其分配了参考。我如何使用此参考来更改 value
的 TextInput
?
constructor(props) {
super(props);
this.emailRef = React.createRef();
}
<TextInput
ref={this.emailRef}
placeHolder="Email Address"
blurOnSubmit={false}
/>
<Keyboard textInput={this.emailRef} />
图书馆内部:
<Button
text="change value"
onPress={() => {
this.props.emailRef.current.props.value =
this.props.emailRef.current.props.value + "q";
}}
/>
原文由 khateeb 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不能直接在组件内更改道具 - 道具只能从父组件派生,但不能修改,因此您不能:
this.props.emailRef.current.props.value = this.props.emailRef.current.props.value + "q";
此外,您在库中引用了
this.props.emailRef
,而键盘没有emailRef
道具 - 它具有textInput
道具。尝试这个:
图书馆内部: