首页 > 解决方案 > 为我从 api 响应中获得的每个项目创建一个唯一的编号 id

问题描述

所以,在这里我试图映射我从 API 获得的响应,在我从 API 获取项目之前,我正在对其进行静态测试,我为从 {1} 开始的每个项目创建了一个唯一的数字 ID,现在我'正在尝试找到一种方法为每个项目创建某种 for 循环,我从 {1} 开始为每个项目提供一个唯一的数字 id,我该如何实现?

<div className="items">
  {this.state.items.map(i =><a href="/" id={1} onClick={this.targetValue} className={this.state.selected === "1" ? "selected" : ""}>{i.name}</a>
</div>

标签: reactjsecmascript-6lodashfetch-api

解决方案


.map 为您提供索引,您可以将其用于唯一 ID。由于您希望 id 从 1 开始,因此您需要 index+1 因为索引从 0 开始

  <div className="items">
       {this.state.items.map((i, index) => <a href="/" id={index+1} onClick={this.targetValue} className={this.state.selected === index +1? "selected" : ""}>{i.name}. </a>
  </div>

推荐阅读