使用redux-form在多个不同的挂载点绑定表单

时间:2015-12-23 16:46:37

标签: reactjs flux redux redux-form

正如我从react-form文档中了解到的那样,您通常会在reducer树的根目录下放置一个form reducer,而redux-form将把每个表单的状态放在这个form键中。在表格的名称上。

然而,这将导致奇怪的结构,其中某个树的表单数据在表单键下,而不是与其相关的其他状态数据。在此示例中,应用程序存储服务器中可能的帐户类型列表,逻辑上应该与注册表单本身进行分组。但是使用redux-form,它们将完全不同的子树:

            signup          
           /
       forms
      /    \
     /      login
    /
 root
     \      login--signinMethods
      \    /
       header
           \
            signup--accountTypes

我更喜欢这样一个更有组织的树:

             form          
            /
       signup
      /     \
     /       accountTypes
    /
 root
     \      signinMethods
      \    /
       login
           \
            form

这是可以使用redux-form还是任何其他redux库?

2 个答案:

答案 0 :(得分:2)

尝试使用reduxMountPoint选项:

  

非常不鼓励使用此属性,但如果你绝对的话   需要将redux-form reducer安装在除了form之外的某个地方   你的Redux状态,你需要指定你安装它的密钥   在这个属性下。默认为'form'。

答案 1 :(得分:1)

它的构建方式(一个reducer处理所有表单)不需要在每次需要新表单时添加新的reducer。你只需添加一次减速器就可以忘掉它了。