React native 如何在react native中设置redux表单中的隐藏字段?
如何在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(
我无法找到任何方法来做到这一点。有什么帮助吗?我也遇到过同样的问题。 我要做的是声明这样的字段,并将高度设置为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),我们只需要使用更改道具来设置字段的值。