2017-04-24 8 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) 
관련 문제