如何使用Redux形式添加和删除字段

Ale*_*lex 1 reactjs redux-form react-redux

我有一个很大的表格,其中的字段是基于模式动态绘制的。(我正在遍历JSON模式以写入我的字段)。

我的某些字段是嵌套的,因此命名约定遵循点符号。

ParentField.ChildField.Name
Run Code Online (Sandbox Code Playgroud)

这将自动嵌套数据作为输入。

ParentField {
  ChildField {
    Name: "Value of field"
  }
}
Run Code Online (Sandbox Code Playgroud)

redux-form提供了一个FieldArray,允许您push()按需字段,但这改变了数据格式以包括信息数组- 不是我想要的!

因此,我需要能够按需注册和注销字段(例如,单击按钮)

这些文档指向actionCreators,但我不知道如何实现它们。

Dar*_*rio 6

您可以使用registerFieldunregisterField行动创造者。

只需将它们导入文件

import { registerField, unregisterField } from 'redux-form';
Run Code Online (Sandbox Code Playgroud)

然后在您的代码中分派操作:

this.props.dispatch(registerField(yourFormName, yourFieldName, fieldType));
Run Code Online (Sandbox Code Playgroud)

fieldType是字符串'Field'或'FieldArray')和

this.props.dispatch(unregisterField(yourFormName, yourFieldName));
Run Code Online (Sandbox Code Playgroud)