我正在使用React原生,我想使用 Redux-Form 在this文章后面TextInput
提交文字,
如果我输入文本,它会按预期工作,但是当我将value
的{{1}}属性设置为某个字符串时,提交后我会得到一个空对象。
它仅在我输入文本时有效,但在我将其设置为某个值时无效。
这是我使用的TextInput
部分:
TextInput
希望你能帮助我, 谢谢。
答案 0 :(得分:0)
我通过将功能组件更改为类组件并使用componentDidUpdate()
生命周期方法检查道具在将组件传递给组件时是否已更改并调用this.props.input.onChange(this.props.value);
因为input
来解决此问题。也可以使用值调用,因此传递this.props.value
。
来自Redux Form API(字段组件):
input.onChange(eventOrValue) 表单字段更改时调用的函数。它希望接收React SyntheticEvent或字段的新值。
这是全班组件:
class CounterField extends React.Component {
constructor(props){
super(props);
}
componentDidUpdate(){
this.props.input.onChange(this.props.value);
}
render(){
return (
<View style={{paddingTop: 20, width: 30}}>
<TextInput
name='title'
onChangeText={this.props.input.onChange}
editable={false}
value={this.props.value}
style={{fontSize: 20, textAlign: 'center', fontWeight: 'bold'}}
placeholder={'0'}
/>
</View>
)
}
}