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

如何在React Bootstrap Table中指定key以解决列表唯一key属性警告

你遇到的这个警告是因为使用map遍历渲染列表元素时,没有为最外层的返回元素指定唯一key属性,针对你给出的代码,只需要给map返回的<tr>标签添加key属性即可。

修改方法

优先使用每条数据自带的唯一字段作为key值(比如数据ID、业务唯一编码等),如果没有合适的唯一字段,也可以临时使用遍历索引(不推荐在列表会频繁增删、排序的场景使用,会导致React渲染异常)。

修正后的代码示例

<Table size="sm" responsive="sm" bordered hover striped>
  <thead>
    <tr>
      <th>Col1</th>
      <th>Col2</th>
      <th>Col3</th>
      <th>Col4</th>
    </tr>
  </thead>
  <tbody>
    { histories.map((h) => (
      {/* 给map直接返回的tr标签添加key属性,这里以数据的id字段为例 */}
      <tr key={h.id}>
        {/* 额外提示:表体数据建议用td而非th,th多用于表头单元格 */}
        <td>{h.col1}</td>
        <td>{h.col2}</td>
        <td>{h.col3}</td>
        <td>{h.col4}</td>
      </tr>
    ))}
  </tbody>
</Table>

注意事项

  • key必须加在map方法直接返回的最外层DOM节点上,不要加在节点内部的子元素上
  • 不要使用随机数作为key值,会导致组件频繁卸载重渲染,影响性能
  • 静态写死的表格行不需要加key,只有动态循环生成的元素才需要设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:06:08