2016-08-29 17 views
0

私はReuxでReduxフォームを使用していますが、フォームフィールドをハードコードする必要があります。親コンポーネントからフィールドを動的に渡す方法はありますか?reduxフォームのフィールドを動的に取得

/* 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); 

、それを変更し、言うならば、「未定義から読み取ることができない...」

をReduxのフォームに動的にフィールドに合格する方法上の任意のアイデア?

ありがとうございます。

答えて

0

私はそれを理解しました。動的フィールドは、実際のフォームコンポーネント自体に渡され、受け取られます。この場合、クラスはRegFormです。その中で、this.props.fieldsは親コンポーネントから渡されるフィールドです。

+0

これらのダイナミックフィールドを検証できましたか? – SaidAkh

関連する問題