reactjs - Redux-Form 使用索引作为字段数组的键,这不是一种反模式吗?
问题描述
我已经开始使用来自 redux-form 的 Fields Array,它使用作为键的简单整数的索引。但这不是错的吗?我一直在对其进行测试并且没有任何问题,但阅读了这篇文章,它说它可能会导致问题。那么,这怎么不会成为这里的问题呢?
解决方案
Redux-Form虽然是一个很棒的包,但并不是说它不是,但它已经成长为有很多问题和反模式。看看它的名字Redux-Form,看看这个关于在 redux 中保持表单状态的 Redux FAQ - 它说在 redux 中保持表单状态不是首选!那个怎么样?
现在让我们谈谈使用索引进行迭代以及为什么它不好。既然您已经阅读了问题中的文章,我假设您已经理解它 - 这是因为它不利于保持项目的唯一表示,特别是如果它们上下移动,旧的和新的。现在,这并不意味着应该始终避免它。如果您擅长处理索引和位置,则无需担心。Redux-Form 不是唯一这样做的包,Formik 也是。
总而言之,使用索引作为字段数组并不理想,使用uniqid()
. 但这也不是世界末日。Redux Form 是一个高度复杂的包,他们知道如何处理他们的状态,所以我们可以假设他们也知道如何处理他们的索引。
推荐阅读
- python - 为什么我的所有文档都没有在 Firestore 中更新?
- php - 如何在不使用变量的情况下将json文件数据转换为html表?
- android - 已安装 Android 平台工具但仍收到 -bash: adb: command not found
- java - 如何使用 Gradle 正确生成 R 文件,而我只将资源放在 src/test 下
- sql - 仅对 SQL Server 中具有值的行进行分组
- opencv - 设置用于图像捕获和图像处理的场景
- python-3.x - 服务器(Ubuntu 16.04)在运行 LSTM 时冻结并停止响应
- rust - 语法是什么:`instance.method::
()`? - c# - 无法将属性或索引器“AuthenticationHeaderValue.Parameter”分配给 - 它是只读的
- kubernetes - GKE Ingress - 简单的 nginx 示例但出现错误“找不到后端的节点端口”