从JSON获取嵌套数据

时间:2018-01-14 22:44:24

标签: javascript reactjs

我有一个JSON文件。它看起来像这样:

{
  "products": [
    {
      "category": "Napoje",
      "products": {
        "product1": "Piwo",
        "product2": "Wino",
        "product3": "Cola",
        "product4": "Sprite"
      }
    }
  ]
}

我想在React组件中使用数据。这是使用它的正确方法吗?

componentDidMount(){
        fetch('http://localhost:3000/products')
            .then(r => r.json())
            .then( data => {
                this.setState({})
                let products = Object.keys(data).map(id => data[id]);
                this.setState({
                    products: products
                })
            });
    }

我想保持状态。

1 个答案:

答案 0 :(得分:1)

为什么不使用'r.json()'中返回的对象并将其保存到状态?

你所做的是循环返回的对象并创建一个似乎没有必要的新对象,除非你需要修改原始对象。

下面的代码就足够了。

componentDidMount(){
        fetch('http://localhost:3000/products')
            .then(r => r.json())
            .then( data => {
                this.setState({
                    products: data 
                })
            });
    }