2017-04-24 76 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) }呈現一些數據。 換句話說,members是一個array它有價值。

我設置了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)