【问题标题】:How to solve this Reactjs Eslint warning about 'index' is defined but never used如何解决这个关于“索引”的 Reactjs Eslint 警告已定义但从未使用过
【发布时间】:2020-12-17 10:00:00
【问题描述】:

在迭代地图时我怎么能没有“索引”,这对我来说是个错误。 有什么想法吗?

【问题讨论】:

  • 替换为_
  • 删除它。它是一个可选参数。这并不是说您没有索引,而是说您从未引用过该变量,因此没有必要。

标签: arrays reactjs iterator eslint


【解决方案1】:

您没有使用从 map 函数返回的索引。您在其中声明“id”,并在代码中的其他位置分配从“uniqueId”返回的值。

这不是错误。

如果您不想看到警告,您可以:

  • 不要使用“索引”,因为实际上你并没有使用它。
  • 将其替换为 _,这样 eslint 就会明白您正在丢弃该参数

编辑: 正如 Brian Thompson 所指出的,您可能无论如何都想使用索引来获得一个唯一的 id,而不必自己创建一个:

Resume.article.map((element, idx) => {
  articles.push(
    <div className="column" key={idx}>
      ...
    </div>
  )
}

【讨论】:

  • 感谢 Eslint 警告“id”使用索引,所以我使用“uniqueId”
  • 不要key 使用随机数。如果您确实没有对象本身的唯一标识,则只需使用数组的索引。使用随机 ID 很可能会导致 Article 卸载并重新安装每个渲染。这很糟糕。
  • 更新了我的答案以包含此注释
【解决方案2】:

您没有在任何地方使用/引用index,因此只需将其从参数中删除即可。你不需要它。

【讨论】:

    猜你喜欢
    • 2023-01-07
    • 1970-01-01
    • 2018-07-14
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2014-06-26
    • 2018-12-30
    相关资源
    最近更新 更多