redux-form - redux-form 字段的有序列表
问题描述
您知道如何从给定的表单中获取字段名称的有序列表吗?实例 API有一个名为“fieldList”的属性,它是一个数组,但顺序不正确。(ordered list = [firstFieldName, secondFieldName, ...]
所以我需要一个字段名称列表,以便它们出现在我的表单中 - 从上到下)
此外,redux-form 的操作'@@redux-form/REGISTER_FIELD'
是按照正确的表单顺序发送的,所以我想这不是我需要的......
(我的 redux-form 版本:7.3.0)
解决方案
我能够从给定表单中检索表单字段名称的有序列表的一种方法是使用“react-redux”中的连接 HOC(高阶组件)通过存储在 redux 表单状态中的注册字段:
import React, { Component } from 'react';
import { connect } from 'react-redux';
import _ from 'lodash';
class Foo extends Component {
render() {
const {
registeredFields,
} = this.props;
...
...
...
}
}
const mapStateToProps = (state, props) => {
// retrieve the registered fields from the form that is stored in redux state; using lodash 'get' function
const registeredFields = _.get(state, 'form.nameOfYourForm.registeredFields');
// creating an object with the field name as the key and the position as the value
const registeredFieldPositions = _.chain(registeredFields).keys().reduce((registeredFieldPositions, key, index) => {
registeredFieldPositions[key] = index;
return registeredFieldPositions;
}, {}).value();
return({
registeredFieldPositions,
});
};
// registeredFieldPositions will now be passed as a prop to Foo
export default connect(mapStateToProps)(Foo);
推荐阅读
- neo4j - 最长路径 Neo4j 返回不正确的路径
- python - 如何在指定标记和误差条的多线图上自定义颜色
- python - Python:使用协程进行异步 HTTP 请求响应?
- python - in while 消息弹出 6 次,本应跳出 5 次
- ansible - Ansible - 在清单中具有相同命名约定的特定主机组上运行剧本
- postgresql - 使用 JPA 标准生成器批量插入
- visual-studio - 如何将 IIS Express 应用程序主机设置为本地驱动器
- python - 如何解决 QFileDialog 的过滤参数问题?
- javascript - Chrome检查元素中出现随机字符?
- python - Tensorflow ImportError - DLL 加载失败