Динамически получать поля для редукционной формы
Я использую 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);
Вот родительский компонент, который использует избыточную форму.
/* parent.jsx */
import RegForm from './RegForm';
...
<RegForm dynamicFields={some-dynamic-fields}>
...
Если в избыточной форме используются жестко закодированные поля (formFields), работает нормально. но если я изменю это на
export default reduxForm({
form: 'userForm',
fields: this.props.dynamicFields
})(RegForm);
Это не будет работать, и говорит "не может читать из неопределенного..."
Любые идеи о том, как перейти в динамических полях для редукционной формы?
Заранее спасибо.
1 ответ
Решение
Я понял. Динамические поля будут переданы и получены в самом компоненте формы. В этом случае класс RegForm. В нем this.props.fields - это поля, переданные из родительского компонента.