动态获取 redux 表单的字段

Dynamically get fields for redux form

我将 Redux Form 与 React 结合使用,但需要对表单字段进行硬编码。有什么方法可以从父组件动态传入字段吗?

/* form.jsx */

import React, { PropTypes } from 'react';
import { Field, reduxForm } from 'redux-form';

export const formFields = [
  'firstname',
  'lastname',
  'password'
]

class RegForm extends Component {
...
}

export default reduxForm({
    form: 'userForm',
    fields: formFields
})(RegForm);

这里是使用redux形式的父组件。

/* parent.jsx */
import RegForm from './RegForm';

...
<RegForm dynamicFields={some-dynamic-fields}>
...

如果 redux 表单使用硬编码字段 (formFields),则工作正常。但如果我把它改成,

export default reduxForm({
    form: 'userForm',
    fields: this.props.dynamicFields
})(RegForm);

不行,说"cannot read from undefined..."

关于如何将动态字段传递给 redux 表单有什么想法吗?

提前致谢。

我想通了。动态字段将在实际表单组件本身中传递和接收。在这种情况下,class RegForm。其中,this.props.fields是其父组件传入的字段。