使用redux-form的Field和其他道具

时间:2016-08-23 20:49:33

标签: javascript redux redux-form

我想创建一个更高阶的组件,用于呈现Field库的redux-form组件。我的问题是,我想要传递其他用label装饰组件的道具。我还希望这些输入组件可以在没有 Redux格式的情况下使用

实现这一目标的一种方法是执行以下操作:

function MyComponent(props) {
    return (
        <div>
            <label>{props.label}</label>
            <Field name={props.name} component="input" type="text" />
        </div>
    )
}

这很好,但如果在redux-form中没有包装此组件的情况下reduxForm({})会抛出错误。

另一种方法是执行以下操作:

<Field component={MyComponent} name="my-component" type="text" />

但这不允许我将label之类的额外道具传递给MyComponent

我提出的当前解决方案是将form={false}道具传递给MyComponent以呈现<input>,如果该组件如果表单中的组件,则表单和<Field>。这似乎是一个不优雅的解决方案,因为我宁愿渲染相同的组件而不是通过额外的form道具。

redux-form中是否有功能允许将额外的道具传递给<Field>或允许<Field>在表单的上下文之外呈现?或者这是redux-form的限制?

0 个答案:

没有答案