【问题标题】:FieldArray component does not workFieldArray 组件不起作用
【发布时间】:2017-04-24 07:32:34
【问题描述】:

FieldArray 组件不起作用。 我使用redux-form 包。

我的代码如下:

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 返回&lt;li&gt;show?&lt;li/&gt;,但是我没有看到show?

在我看来,结果应该是:

显示?
显示?
text of {JSON.stringify(props.initialValues.members)}

现在结果是:

text of {JSON.stringify(props.initialValues.members)}

【问题讨论】:

    标签: reactjs react-redux redux-form


    【解决方案1】:

    我添加了enableReinitialize: true,。现在,它运作良好。

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

    【讨论】:

      猜你喜欢
      • 2022-06-15
      • 2021-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 2013-12-05
      相关资源
      最近更新 更多