Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native Can';无法使用react native 0.32.0获得redux表单6.0.2_React Native_Redux Form - Fatal编程技术网

React native Can';无法使用react native 0.32.0获得redux表单6.0.2

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} 进口{ 样式表, 文本, 文本输入, 触控高光, 看法 }从“反应本机

我一直试图让redux表单与react native一起工作,但我无法让最简单的表单工作

我有两个问题:

  • 如果我将props.input绑定到TextInput组件,每个按键都会被吃掉。您看到键入的字符片刻后,它消失了。 通过反复试验,我发现如果不绑定props.input.value,它将允许字段显示您键入的字符

  • 我的submit函数总是传递一个空值参数

  • /@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中。我一更改导入,它就工作得很好。谢谢大家!!嗨,朱利安帕斯,我也有同样的问题,几个小时以来我一直在努力解决这个问题。无论如何,你可以分享你的工作代码吗?如果我认为这有助于解决提交时获取值的问题,您会非常感激吗?不过,这没什么区别。