React native 如何在react native中设置redux表单中的隐藏字段?

React native 如何在react native中设置redux表单中的隐藏字段?,react-native,react-redux-form,React Native,React Redux Form,如何在react native中设置redux表单中的隐藏字段 我无法找到任何方法来做到这一点。有什么帮助吗?我也遇到过同样的问题。 我要做的是声明这样的字段,并将高度设置为0。 这有点老套,但对我来说很管用 <Field component={TextInput} name="departure_city_name" type="hidden" style={{ height: 0 }} /> 我这样更改值:this.props.change(

如何在react native中设置redux表单中的隐藏字段


我无法找到任何方法来做到这一点。有什么帮助吗?

我也遇到过同样的问题。 我要做的是声明这样的字段,并将高度设置为0。 这有点老套,但对我来说很管用

<Field
    component={TextInput}
    name="departure_city_name"
    type="hidden"
    style={{ height: 0 }}
/>

我这样更改值:
this.props.change(“出发城市名称”,cityData.name)

希望有帮助。

我最后使用了以下内容:

this.props.dispatch(change("FORM_NAME","FIELD_NAME","VALUE")) 

此代码运行后,如果该字段不存在,表单将创建该字段。

您不需要分派任何操作,只要在redux表单中需要隐藏字段时执行此更改即可

this.props.change('Field_name', value)

从技术上讲,您不需要创建type=hidden字段,因为如果字段不存在,您可以为要更改的“hidden”字段调用
change
函数。Redux表单将像实际字段一样将其添加到表单状态

MyForm = reduxForm({
  form: 'myForm'
})(MyForm)

MyForm = connect(
  state => ({
    initialValues: { areYouOk: 'no' }
  })
)(MyForm)

export default MyForm
无论您是否设置了初始值,您都可以使用新的隐藏值调用change函数,并且它仍然可以工作

  let MyForm = ({ submitHandler, change }) => {
    return (
      <form onSubmit={submitHandler}>
        <button
         onClick={() => {
           change('areYouOk', 'yes');
         }}
         label={'Yes'}
        />
      </form>
    );
  }
let MyForm=({submitHandler,change})=>{
返回(
{
改变(‘你还好吗’、‘是’);
}}
标签={'Yes'}
/>
);
}

我发现你甚至不需要这个字段。只需发送字段的值哦,是的。酷。我刚刚测试过:)。感谢这种方式,您无法启动验证,因为没有Redux表单字段侦听值。您需要像这样导入(Redux表单操作创建者):
import{change}from'Redux form'
this.props.change('Field\u NAME',value'))
是根据建议的注入版本:建议您使用作为道具传递给组件的操作来满足您的大多数需求,因为它们已经绑定到
调度
。谢谢@Roy CL我一直在搜索此内容。很久以前。是的,因为现在事情已经改变了,因此,如果有人在最新版本中使用它(因为不确定他们在哪里更新了它,但我使用的是版本8),我们只需要使用更改道具来设置字段的值。