2017-04-24 7 views
2

FieldArrayコンポーネントが動作しません。 私はredux-formパッケージを使用しています。FieldArrayコンポーネントが機能しない

私のコードは以下の通りです:

import React from 'react' 
import { FieldArray, reduxForm } from 'redux-form' 
import { connect } from 'react-redux' 

const renderMembersPP = ({ fields, meta: { touched, error, submitFailed } }) => (
    <ul> 
     {fields.map((member, index) => 
      <li style={{width:'5',height:'5',backgroundColor:'red',color:"white"}} key={index}> 
      show? 
      </li> 
    )} 
    </ul> 
) 

let NextWeekDriftForm = (props) => { 
    const { handleSubmit, pristine, reset, submitting} = props 
    return (
     <form onSubmit={handleSubmit}> 
     <div> 
      <FieldArray name="members" component={renderMembersPP}/> 
     </div> 
     {JSON.stringify(props.initialValues.members) } 
     </form> 
) 
} 

NextWeekDriftForm = reduxForm({ 
    form: 'NextWeekDriftForm',  // a unique identifier for this form 
})(NextWeekDriftForm) 

export default NextWeekDriftForm = connect(
    state => ({ 
     initialValues: state.sendGood.driftMemberArray.formData, 
    }) 
) (NextWeekDriftForm) 

{JSON.stringify(props.initialValues.members) }は、いくつかのデータをレンダリングします。 つまり、membersarrayであり、値があります。

fields.map返信<li>show?<li/>を設定しましたが、show?は表示されません。私の意見で

、結果があるはずです。

ショー?
を表示していますか?
{JSON.stringify(props.initialValues.members)}のtext

今結果は:{JSON.stringify(props.initialValues.members)}

text

enter image description here

答えて

0

私はenableReinitialize: true,を追加します。今、それはうまくいく。

export default NextWeekDriftForm = connect(
    state => ({ 
     initialValues: state.sendGood.driftMemberArray.formData, 
     enableReinitialize: true, 
    }) 
) (NextWeekDriftForm) 
関連する問題