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

为什么React中map渲染列表时DOM树会同时出现<li>元素和索引值

问题原因

你的代码多嵌套了一层多余的Object.entries调用:
group[1].sort().map(...)执行后返回的已经是由

  • 列表项构成的数组,你在外层又对这个数组调用了Object.entries(),而对普通数组执行Object.entries()会返回形如[[0, 第一个li元素], [1, 第二个li元素], ...]的二维数组。React在渲染数组时会把内部所有元素依次输出,所以每个
  • 前面就附带了对应的索引值。

    修复方法

    删除多余的外层Object.entries包裹即可,修正后代码参考:

    Object.entries(category[1]).map(group => (
      group[1].sort().map((product, index) => (
        <li key={product.id}
            className="products-wrapper__item">
              <h1>{`product-${index}`}</h1>
        </li>
      ))
    ))
    

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

  • 相关产品推荐
    方舟 Agent Plan

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

    最近更新时间:2026.10.05 16:39:03