ReduxForm - 动态连接参数

时间:2017-06-01 15:49:02

标签: javascript reactjs redux redux-form

我使用ReduxForm有两种形式:

  • 在Modals内部
  • 在标签内。

取决于表格'类型,我必须调整我的reduxForm' connect'参数。

使用Tab,我需要:

  • destroyOnUnmount
  • enableReinitialize
  • [...]

使用Modal,我不想要它们。

我的表格由道具获得表格类型,但我无法使用它来改编我的reduxForm。

export defaut ReduxForm({
   form : 'testForm',
   destroyOnUnmount : false,
   enableReinitialize: true ,
   [...] 
  })(MyForm)

我不知道如何改编它。

由于

2 个答案:

答案 0 :(得分:1)

我并不是100%肯定你确切地询问的内容,但我认为我有一个非常好的线索:你希望能够添加destroyOnUnmountenableReinitialize道具如果你的表格在一个标签内,如果你的表格在一个模态内,则不添加它们,对吗?

您可以将reduxForm包裹的组件与来自connect的{​​{1}}包裹在一起,然后使用react-redux来确定要传递给{{1}的推荐值}}。像这样:

mapStateToProps

然后可以像这样使用

redux-form

希望这有帮助!

答案 1 :(得分:0)

不是导出redux表单,而是导出一个返回它的函数:

export default isTab => ReduxForm({
  form : 'testForm',
  destroyOnUnmount : !!isTab,
  enableReinitialize: !!isTab ,
  [...] 
})(MyForm)

然后

import makeMyForm from 'MyForm'
const TabForm = makeMyForm(true);
const ModalForm = makeMyForm();