繁体   English   中英

如何使用来自http get in的数据进行动态菜单反应?

[英]How to make a dynamic menu using data from a http get in react?

我正在使用axios来获取发送给我的URL:

{
  "companies": [
    {
      "id": 1,
      "description": "Fernando"
    },
    {
      "id": 2,
      "description": "Paulo"
    },
    {
      "id": 3,
      "description": "Junior"
    },
    {
      "id": 4,
      "description": "Lucio"
    }
  ]
}

我的axios代码如下所示:

axios.get("MY URL").then((response) => {
this.setState({
      data: response.data.companies
    });
      data = response.data
  console.log(response.data)
  console.log("data change",this.state.data)

})

我可以在状态或var中获取所需的对象,这就是控制台中显示的内容,看来该对象是正确的:

(4) [{…}, {…}, {…}, {…}]
0
:
{id: 1, description: "Fernando"}
1
:
{id: 2, description: "Paulo"}
2
:
{id: 3, description: "Junior"}
3
:
{id: 4, description: "Lucio"}
length
:
4
__proto__
:
Array(0)

现在,我需要创建一个菜单,该菜单将呈现我在对象中拥有的4个选项,那么如何在不知道我将在该对象中拥有多少个itens的情况下呈现它呢? 我已经尝试过.map,但这是一个内部带有数组的对象,而map对此无效。 我追求的解决方案是可以遍历数组并呈现菜单的东西。 我对这款axios感到不知所措。

以下将为您的数据数组生成N个div元素:

var items = Array.from({length: $this.state.data.length}, (_, i) => i)
     .map(i => <div key={"item" + i}>{$this.state.data[i]}</div>);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM