【问题标题】:can not render api data with map无法用地图渲染 api 数据
【发布时间】:2021-03-11 18:05:58
【问题描述】:

我正在尝试获取 api 并且我有数据(您可以在控制台中看到 {respons} )。 但是当我尝试使用地图应用程序渲染数据时会崩溃。 [

enter image description here3

【问题讨论】:

    标签: node.js reactjs api


    【解决方案1】:

    试试这个

    fetch('http://localhost:5000/user')
      .then(response => response.json())
      .then(data => setItems(data));
    

    您需要将响应转换为 JSON 数组才能对其进行映射

    【讨论】:

      【解决方案2】:

      在您遍历您的响应之前,您必须检查项目是否有价值,

      代码在前端呈现的方式是,它会尝试执行你的 jsx,当 useEffect 得到响应时,它会重新呈现屏幕。

      如果您仔细查看控制台日志,在第一次渲染时它是空的,然后它有记录值。

      解决方案是在循环之前添加 AND 条件,如下所示

      {items.length > 0 && items.map(item....

      【讨论】:

        【解决方案3】:

        您可以从您的console.log 中看到response 不是一个数组,而是一个完整的HTTP 响应对象。如果您查看response.data,您会及时看到它是一个缓冲区,因为响应将作为流到达。您需要收集完整的响应并将其解析为 JSON,然后才能使用它。

        查看this documentation 了解如何做到这一点。

        【讨论】:

        • 谢谢。我想通了。
        猜你喜欢
        • 1970-01-01
        • 2013-04-13
        • 1970-01-01
        • 2016-03-01
        • 2017-07-14
        • 1970-01-01
        • 2016-12-04
        • 2019-07-26
        • 1970-01-01
        相关资源
        最近更新 更多