json 如何MapReact JS中Laravel集合的嵌套对象

nhaq1z21  于 2023-06-25  发布在  React
关注(0)|答案(3)|浏览(90)

在我的前端,我试图Map来自后端Laravel集合的嵌套对象:

[
  {
    "id": 1,
    "name": "Chips",
    "product_categories_id": 1,
    "category": {
      "id": 1,
      "category": "Chips",
      "brand": "Bombay Sweets"
    }
  },
  {
    "id": 2,
    "name": "Book",
    "product_categories_id": 2,
    "category": {
      "id": 2,
      "category": "Shoe",
      "brand": "Nike",
    }
  }]

我想显示嵌套对象的产品名称和相关类别名称。我的方法是:

products.map((product)=>{
    console.log(product.name)
    product.category.map((category)=>(
        console.log(category.category)
    ))
})

根本就不起作用。我花了大量的时间来解决,但没有运气。
它显示的错误:

ProductListContainer.js:58未捕获TypeError:item.category.map不是函数

63lcw9qa

63lcw9qa1#

map方法仅适用于Array。您可以使用product.category.category访问该值。

ngynwnxp

ngynwnxp2#

最后通过这个解决:

products.map((product) => {
    console.log(product.name)
    Object.entries(product.category).map(() => (
        console.log(product.category.category, product.category.brand)
    ))
})
hgqdbh6s

hgqdbh6s3#

您不需要在product.category上执行循环,您需要做的就是显示类别名称:

{{product.category?.category}}

相关问题