首页 > 解决方案 > 这个数组过滤器哪里出错了?反应

问题描述

我正在映射从 api 获得的一些数据,但是当我尝试添加过滤器函数时,我得到'currencyData.includes 不是函数'

我也尝试过对数组进行硬编码,但它仍然不起作用?

当我从 api 获取数据时,我有一个加载状态,该数据阻止代码运行,但我已将其从本示例中删除,因为它没有从下面的 api 获取数据。

简化版在这里...

大批

var items = [
        {
          "id": 1,
          "productName": "shoes",
          "productIdentifier": "CL001",
          "productDescription": "adidas kicks boir",
          "productPrice": 2000,
          "productStock": 200,
          "created_at": "2020-51-28",
          "updated_at": null
         },
        {
          "id": 2,
          "productName": "burger",
          "productIdentifier": "FD001",
          "productDescription": "charsiu berger",
          "productPrice": 2000,
          "productStock": 200,
          "created_at": "2020-51-28",
          "updated_at": null
         }
      ]
return(
   {items.filter(currencyInfo => currencyInfo.includes("FD001")).map((value, index) => {
        console.log(value)
        return(
              <h1 key={index}>{value}</h1>
              )
    })}
)

标签: javascriptarraysreactjs

解决方案


currencyInfo不是一个数组,你不能在它上面调用包含

这是我的建议:

return(
   {items.filter(currencyInfo => currencyInfo.productIdentifier === "FD001").map((value, index) => {
        console.log(value)
        return(
              <h1 key={index}>{value}</h1>
              )
    })}
)

更多关于包含()


推荐阅读