You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MUI组件报错:列表子元素需唯一key属性,已加key仍报错求助

React列表Key错误修复

你遇到的是React列表项缺少唯一key的警告,问题出在map循环里的key取值错误:

错误原因

你写的key={models.model_id}是在访问整个数组models的model_id属性,而不是当前循环的单个model对象的model_id,导致每个MenuItem的key值无效(要么是undefined,要么重复),触发了React的Warning: Each child in a list should have a unique "key" prop.警告。

修复代码

直接把models.model_id改成model.model_id即可,修正后的JSelect部分代码:

<JSelect
    label="Model"
    labelId="assembly_model_id"
    name="product_model_id"
    value={values.product_model_id}
    onBlur={handleBlur}
    onChange={handleChange}
    errors={errors}
>
    {models.map((model) => {
        return (
            <MenuItem key={model.model_id} value={model.model_id}>
                {model.model_code}
            </MenuItem>
        );
    })}
</JSelect>

额外说明

React要求列表中的每个子元素必须有唯一的key属性,这个key要绑定到当前迭代项的唯一标识(比如这里的model_id),不能用数组索引(除非列表不会新增、删除或排序),也不能误用外层的数组对象来取值。


内容的提问来源于stack exchange,提问作者Pusoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:05:17