Redux表单只初始化一次虽然表单名称始终不同

时间:2017-03-11 09:29:16

标签: reactjs redux-form react-redux-form

我使用的是redux格式 5.3.2

我的应用程序需要用户提交N个表单,(N的值在运行时决定)

我只收到1个表单的字段,初始值和&来自API的表单ID。

当用户提交第一个表单时,我将数据发送到服务器,我得到字段,初始值和表单id为第二个表单。

我有一个常见的表单组件,我一直传递字段,initiaval值和表单名称。

代码段如下

在旁边的父组件

<CommonForm
  fields={myFields}
  initialValues={fieldsInitialValues}
  form={`form-${formId.toString()}`}
  temp={fieldsInitialValues}
  />

内部表单组件

class CommonForm extends Component {
  static propTypes = {
    fields: PropTypes.object.isRequired,
    values: PropTypes.object,
    temp: PropTypes.object
  }
  // other code and methods

  render(){
    // form rendering....
  }
} // end of class

export default reduxForm({
  // form: this value I am sending from parent component
  destroyOnUnmount: false,
  validate: formValidator,
  overwriteOnInitialValuesChange: true
})(CommonForm);

我从http://redux-form.com/5.3.1/#/api/reduxForm?_k=f2zdrg

了解了overwriteOnInitialValuesChange

在redux商店中,所有表格都在表格密钥

下单独存储

喜欢form-1,form-2等

问题是初始值仅在第一次分配,下次我未定义。

我在临时CommonForm中抛出了temp,我得到的预期值如{field1:some value,field2:}某些值

事情出了什么问题?

0 个答案:

没有答案