如何解决React列表子元素缺少唯一key属性的错误?
解决React列表渲染的"Each child in a list should have a unique 'key' prop"错误
这个错误是因为React要求列表中的每个子元素必须带有唯一的key属性,用来帮助React追踪每个元素的变化,提升渲染效率,避免更新时出现元素识别混乱的问题。
你只需要在循环渲染的<TableRow>上添加key属性,使用用户的_id作为值(数据库生成的_id通常是全局唯一的,适合作为key),修改后的代码如下:
const [users, setUsers] = useState([]); {users.map((user) => ( <TableRow key={user._id}> <TableCell>{user._id}</TableCell> <TableCell>{user.name}</TableCell> <TableCell>{user.email}</TableCell> <TableCell>{user.hobby}</TableCell> <TableCell> <Button>Edit</Button> <Button>Delete</Button> </TableCell> </TableRow> ))}
如果_id存在重复风险,要替换为真正唯一的标识作为key,确保列表中每个子项的key不重复。
内容的提问来源于stack exchange,提问作者Ashley Ferns
相关产品推荐
相关产品推荐

