reactjs - 从不包含唯一 ID 或字段的数组创建带有映射函数的列表时,在 React 中定义“KEY”的最佳方法是什么?
问题描述
从不包含唯一 ID 或任何唯一字段的数组创建具有映射函数的列表时,在 React 中定义“KEY”的最佳方法是什么。我不想使用索引,因为如果稍后在数组中删除或添加任何项目,则先前的数组索引将被更改,这无助于 React 跟踪列出的 DOM 节点。那么如何为 DOM 节点生成或定义“KEY”(唯一 KEY)?
解决方案
如果可能,将其转换为对象数组,并将其中一个键/值对作为 id...这是一个用于生成随机 id 的小辅助函数:
const generateId = () => Math.random().toString(36).substr(2, 10)
然后使用这个函数是这样的:
const arr = [{ id: generateId(), name: 'Bob' }, { id: generateId(), name: 'Jane' }, { id: generateId(), name: 'Jack' }]
推荐阅读
- php - 如何使用 PHP 从 IP 地址和 ipv6 中删除端口号?
- vue.js - Vue-router 使用参数模式
- c++ - 无法将值转换为mysql
- python - 来自 usnews.com 的 python 请求超时其他网站工作正常
- html - Bootstrap4 Accordion - 在不使用 JavaScript 的情况下全部折叠
- typescript - 在 TypeScript 中,如何确保文字类型读/写对应?
- azure - 不能使用从 cosmos db 到 mongoexport 的连接字符串?
- jquery - 在 Jquery 中使用正则表达式替换短语中的任何单词
- datatables - 呈现为html元素时如何更新行
- jsp - 如何使用 JSP 在登录中创建 base64_encode