使用react、redux和redux表单对字段进行内联编辑。我应该这样做吗?

使用react、redux和redux表单对字段进行内联编辑。我应该这样做吗?,redux,redux-form,Redux,Redux Form,我不想为整个可编辑对象打开表单,而是想从对象中创建单个字段的内联编辑 我正在为我的其他表单使用reactjs、redux和redux表单,所以我认为最好的开始是尝试使用redux表单进行内联编辑。这将使我避免使用两种不同的方法来进行验证、状态管理等 但这意味着我将为每个可编辑对象创建一个表单,并为这些对象上的每个字段创建一个表单。它可能有数百种形式。除了这种方法会带来的可维护性问题之外,我想知道性能影响是什么。在这种情况下,redux表单将如何运行?这是否意味着redux存储中会有数百个还原程序

我不想为整个可编辑对象打开表单,而是想从对象中创建单个字段的内联编辑

我正在为我的其他表单使用reactjs、redux和redux表单,所以我认为最好的开始是尝试使用redux表单进行内联编辑。这将使我避免使用两种不同的方法来进行验证、状态管理等

但这意味着我将为每个可编辑对象创建一个表单,并为这些对象上的每个字段创建一个表单。它可能有数百种形式。除了这种方法会带来的可维护性问题之外,我想知道性能影响是什么。在这种情况下,redux表单将如何运行?这是否意味着redux存储中会有数百个还原程序监听每个操作,或者这些还原程序只是在显示包含表单的页面时监听

更新

我认为在编辑时为内联字段创建redux表单是完全可能的,在编辑停止时删除

下面是一个工作示例(打开开发工具以查看正在运行的操作)

显然,表单被sumbit后需要一些数据持久化机制


表单数据不一定是“平面”的,它可以借助点符号嵌套,如

<Form>
  <Field name='title' />
  <Field name='object.title' />
  <Field name='object.mass' />
  <Field name='object.weight' />
</Form>


能否请您澄清“内联编辑”是什么意思?我确信您知道redux表单支持字段名称中的点符号,并且您可以通过内联编辑将表单部分创建为可重复的表单组件,我的意思是能够单击显示的值,并将其更改为预先填充该值的输入字段。输入组件将有自己的提交和取消按钮。我已经用一种工作模式更新了我的答案,谢谢你的例子。如果我决定走redux表单路线,这将很有帮助。但我的主要问题是关于性能的影响。我不熟悉react组件和redux表单缩减器等的生命周期。这种方法会导致数百个操作被触发吗?嗨!只有一个redux form reducer,即使用CombineReducer连接到redux的redux。在这个特定的示例中,实际的redux表单对象是在编辑开始时创建的,之后会消失。其他时候,它只是一个纯文本字段(页面上可以有很多)。所以我看不到性能下降。当然,当您在字段内键入时,redux表单总是在每次点击时将当前状态还原为新状态,但这就是它的工作方式,非常有用。