React表格行映射与EditForm组件Unique Key Prop报错排查
解决React "Each child in a list should have a unique 'key' prop" 错误
错误提示明确指向<EditForm>的渲染方法,说明问题不在你提供的父组件代码里,而是EditForm组件内部存在未添加key的列表渲染逻辑。
排查与修复步骤:
- 打开
EditForm组件的代码,找到所有使用map方法生成元素的地方(比如动态表单字段、下拉选项、分组列表等)。 - 给
map返回的每个最外层元素添加唯一的key属性,优先使用数据自身的唯一标识(如id),避免使用数组索引(除非列表不会发生排序、增删操作)。
错误示例(EditForm内部):
// 没有添加key的下拉选项渲染 {userRoles.map(role => ( <option value={role.id}>{role.name}</option> ))}
正确示例:
// 为每个option添加唯一key {userRoles.map(role => ( <option key={role.id} value={role.id}>{role.name}</option> ))}
注意:key必须绑定在map直接返回的最外层元素上,不能嵌套在内部元素中。
内容的提问来源于stack exchange,提问作者rlatmfrl
相关产品推荐
相关产品推荐

