2017-03-03 8 views
1

最新のredux-form(v6)を使用しています。文書によると、私は状態からの値で初期化フォームを取得しようとしていますので、私はこれをしなかった。そして、フォームの空白フィールド 'initialValues`が考慮されていません

myForm = reduxForm({ 
    form: 'xxx' 
})(myForm); 

myForm = connect(state => ({ 
    initialValues: { 
     ...state.taskForm.taskData.parameters 
    } 
    }) 
)(myForm); 

、私は慎重にmyFormrender()方法で私のFieldコンポーネントを追加し、私はカスタムを使用InputField鉱山のステートレスなコンポーネント:

export const InputField = ({propName, label}) => (
    <Field name={propName} 
      component={ (prop) => <FormGroup> 
       <Col xs={4} componentClass={ControlLabel}>{label}</Col> 
       <Col xs={8}> 
       <FormControl {...prop} /> 
       </Col> 
      </FormGroup> 
      } 
    /> 
); 

(私はUIのためreact-bootstrapを使用しています)

もちろん私はのためnameのことをトリプルチェックしますは、initialValuesから正しいものです。

ただし、初期値の代わりに空白のフィールドが表示されます。

デバッガでは、INITIALIZEのアクション.payloadに正しい初期値のフィールドが含まれていることがわかります。

私はこの問題は、次のようだと思う:INITIALIZEアクションが前REGISTER_FIELD送出されます。または少なくとも、一度REGISTER_FIELDが発送されると、フィールド名は正しく設定されていますが、初期値は取得されません...しかし、問題を解決するために何をすべきかわかりません。そして 多分それは何かのためです...

私は必死で私はreinitializeState: trueしようとしましたが、何も変更されません。

EDIT:実際に私はこの問題#1750に直面していているようですし、解決策は#2210

答えて

2

Fieldそのコンポーネントにinputmetaオブジェクトに分け性質を通過して、あなただけのinputを渡す必要があるように思わ特性はFormControlコンポーネントになります。これに代えて

<FormControl {...prop.input} /> 

:だから、この使用

<FormControl {...prop} /> 

の詳細については、redux-form docsを確認してください。

関連する問題