首页 > 解决方案 > 从不包含唯一 ID 或字段的数组创建带有映射函数的列表时,在 React 中定义“KEY”的最佳方法是什么?

问题描述

从不包含唯一 ID 或任何唯一字段的数组创建具有映射函数的列表时,在 React 中定义“KEY”的最佳方法是什么。我不想使用索引,因为如果稍后在数组中删除或添加任何项目,则先前的数组索引将被更改,这无助于 React 跟踪列出的 DOM 节点。那么如何为 DOM 节点生成或定义“KEY”(唯一 KEY)?

标签: reactjs

解决方案


如果可能,将其转换为对象数组,并将其中一个键/值对作为 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' }]

推荐阅读