通过 redux-form 编辑详细实体:多个表单或重复使用相同的表单?
Editing detail entities via redux-form: multiple forms or re-use same form?
鉴于我使用的是 redux-form,请考虑这个相当基本的 CRUD 示例。我在页面上有一个客户列表。列表中的每个条目都有一个编辑按钮。单击编辑按钮导航到一个新页面(通过 React 路由器),其中有一个表单可以编辑并向服务器提交更新。
鉴于上面的例子,我是否应该有一个单一的表格,并在每次导航到新客户时(通过不同的客户 ID 道具)继续重新初始化值?或者,每个潜在客户 ID 是否应该有多个 redux-form(即:多个 redux-form 状态)?
所以我的状态看起来就像是重复使用相同的表单状态。每次显示表单的组件安装时,它都会不断重置为最新值。所以他们点击编辑客户2,将客户2加载到这个表单状态。他们稍后单击以编辑客户 3,用客户 3 的初始值覆盖客户 2:
{
...
customerForm: {...redux-form-stuff...}
}
... 或者,我想它可以为每个客户 ID 创建一个新的表单状态。没有覆盖。但它必须动态地动态创建新的表单状态(甚至不知道该怎么做,我是 reactjs 的新手)。但它会允许它在页面导航之间保留原始值。
{
...
customerForm2: {...redux-form-stuff...}
customerForm3: {...redux-form-stuff...}
customerForm4: {...redux-form-stuff...}
customerForm5: {...redux-form-stuff...}
...and so on...
}
就 redux-form
而言,这里的最佳做法是只使用一种表单类型。因此,您将拥有连接到 redux-form
的 CustomerForm
组件,然后就像您所说的那样,每次加载它时,您都会输入状态树中的初始值。
由于您一次只会显示一个表单,因此没有必要在内存中保留所有不同的表单状态,尤其是当初始值只是从状态派生的值时。
鉴于我使用的是 redux-form,请考虑这个相当基本的 CRUD 示例。我在页面上有一个客户列表。列表中的每个条目都有一个编辑按钮。单击编辑按钮导航到一个新页面(通过 React 路由器),其中有一个表单可以编辑并向服务器提交更新。
鉴于上面的例子,我是否应该有一个单一的表格,并在每次导航到新客户时(通过不同的客户 ID 道具)继续重新初始化值?或者,每个潜在客户 ID 是否应该有多个 redux-form(即:多个 redux-form 状态)?
所以我的状态看起来就像是重复使用相同的表单状态。每次显示表单的组件安装时,它都会不断重置为最新值。所以他们点击编辑客户2,将客户2加载到这个表单状态。他们稍后单击以编辑客户 3,用客户 3 的初始值覆盖客户 2:
{
...
customerForm: {...redux-form-stuff...}
}
... 或者,我想它可以为每个客户 ID 创建一个新的表单状态。没有覆盖。但它必须动态地动态创建新的表单状态(甚至不知道该怎么做,我是 reactjs 的新手)。但它会允许它在页面导航之间保留原始值。
{
...
customerForm2: {...redux-form-stuff...}
customerForm3: {...redux-form-stuff...}
customerForm4: {...redux-form-stuff...}
customerForm5: {...redux-form-stuff...}
...and so on...
}
就 redux-form
而言,这里的最佳做法是只使用一种表单类型。因此,您将拥有连接到 redux-form
的 CustomerForm
组件,然后就像您所说的那样,每次加载它时,您都会输入状态树中的初始值。
由于您一次只会显示一个表单,因此没有必要在内存中保留所有不同的表单状态,尤其是当初始值只是从状态派生的值时。