React native Can';无法使用react native 0.32.0获得redux表单6.0.2
我一直试图让redux表单与react native一起工作,但我无法让最简单的表单工作 我有两个问题:React native Can';无法使用react native 0.32.0获得redux表单6.0.2,react-native,redux-form,React Native,Redux Form,我一直试图让redux表单与react native一起工作,但我无法让最简单的表单工作 我有两个问题: 如果我将props.input绑定到TextInput组件,每个按键都会被吃掉。您看到键入的字符片刻后,它消失了。 通过反复试验,我发现如果不绑定props.input.value,它将允许字段显示您键入的字符 我的submit函数总是传递一个空值参数 /@flow 从“React”导入React,{PropTypes} 进口{ 样式表, 文本, 文本输入, 触控高光, 看法 }从“反应本机
/@flow
从“React”导入React,{PropTypes}
进口{
样式表,
文本,
文本输入,
触控高光,
看法
}从“反应本机”
从“redux表单”导入{reduxForm,Field}
const styles=StyleSheet.create({
表格:{
弹性:1,
flexDirection:'列',
paddingLeft:16,
paddingRight:16,
},
提交按钮:{
身高:48,
玛金托普:32,
},
文本字段:{
身高:28,
},
});
类TextInputField扩展了React.Component{
render(){
常量{input,占位符,样式,输入:{onChange}}=this.props
console.log(this.props)
返回(
)
}
}
类SigninScene扩展了React.Component{
render(){
const{handleSubmit,submiting}=this.props
返回(
{
控制台日志(“处理提交”)
console.log(值)
})}
>
签名
)
}
}
导出默认reduxForm({form:'signin'})(SigninScene)
首先,您不能像这样执行分解任务:
const { input, placeholder, style, input: { onChange } } = this.props
据我所知,第一个input
会吃掉input
的内容,因此onChange
不等于任何内容。试一试
const { input, placeholder, style } = this.props
然后
<TextInput
onChange={input.onChange} // <-----
placeholder={placeholder}
style={style}
基于redux表单Github repo中的这个问题,我对代码进行了一些更新,但仍然无法使其正常工作
/@flow
从“React”导入React,{PropTypes}
进口{
样式表,
文本,
文本输入,
触控高光,
看法
}从“反应本机”
从“redux表单”导入{reduxForm,Field,formValueSelector}
从“react redux”导入{connect}
const styles=StyleSheet.create({
表格:{
弹性:1,
flexDirection:'列',
paddingLeft:16,
paddingRight:16,
},
提交按钮:{
身高:48,
玛金托普:32,
},
文本字段:{
高度:28,//必须在iOS上完成
玛金托普:32,
},
});
类TextInputField扩展了React.Component{
render(){
const{input:{onChange,value},…otherProps}=this.props
console.log(this.props)
返回(
onChange(值)}
value={value}
{…其他道具}
/>
)
}
}
类SigninScene扩展了React.Component{
render(){
console.log(this.props)
const{handleSubmit,submiting}=this.props
返回(
{
控制台日志(“处理提交”)
console.log(值)
})}
>
签名
)
}
}
signnscene=reduxForm({
表格:'签名'
})(SigninScene)
常量选择器=formValueSelector('signin');
函数MapStateTops(状态){
返回{
电子邮件:选择器(状态为“电子邮件”),
密码:选择器(状态为“密码”),
}
}
signnscene=connect(mapstatetops)(signnscene)
导出默认符号
请尝试以下操作,而不是将字段值映射到状态
const mapStateToprops = (state: State) => ({
});
export default reduxForm({
form: 'signin'
})(
connect(mapStateToprops)(SigninScene)
);
我有一个带有redux表单的开源react native starter应用程序,如果您还有问题,请尽管问我
这似乎不是真的。这种解构正确地设置了输入变量和onChange变量。但我还是用onChange尝试了一下,结果没有任何不同。你使用的是Immutable.js吗?当我不小心从redux表单
而不是从redux表单/immutable
导入字段时,我看到了这种行为!就这样!我忘了我已将其添加到package.json中。我一更改导入,它就工作得很好。谢谢大家!!嗨,朱利安帕斯,我也有同样的问题,几个小时以来我一直在努力解决这个问题。无论如何,你可以分享你的工作代码吗?如果我认为这有助于解决提交时获取值的问题,您会非常感激吗?不过,这没什么区别。