【问题标题】:API React many objectsAPI 反应许多对象
【发布时间】:2021-12-08 22:06:00
【问题描述】:

我需要显示来自 API 返回的许多信息。 它看起来像这样:

{
"success": true,
"data": {
    "favourite_conseils": [
        {
            "id": 1,
            "title": "Title 1",
            "speciality": [],
            "attachments": [],
            "isFavourite": true,
            "isPack": false,
            "message": "Message conseil 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit."
        }
    ],
    "suggested_conseils": [
        {
            "id": 2,
            "title": "Title 2",
            "speciality": [
                1
            ],
            "attachments": [],
            "isFavourite": false,
            "isPack": false,
            "message": "Message conseil 2. Lorem ipsum dolor sit amet, consectetur adipiscing elit."
        }
    ],
    "specialities": [
        {
            "id": 1,
            "name": "blabla",
            "label": "Blabla"
        }
    ]
}

我需要使用favorite_conseils 并显示所有(这里只有一个)并使用suggested_conseils 实际上,我有教程 setTutorials 并且我在 tutorials 变量中制作了 response.data(来自 axios 返回)。但是我不能使用.map,因为第一个值是一个对象,而不是一个数组...

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 你可以在这里查看我的组件:controlc.com/e9e7e77f我需要先使用retrieveTutorials

标签: reactjs api axios react-typescript


【解决方案1】:

您可以使用response.data.favourite_conseils 设置 favourite_conseils 和类似的建议_conseils 和其他。之后就可以使用地图功能了,

【讨论】:

  • 是的,但是当我使用来自 response.data.favorite_conseils 的 console.log 时,他说我“在类型 'never' 上不存在属性 'favorite_conseils'。”而且我无法编译我的应用程序...
  • 尝试像 response?.data?.favourite_conseils 这样的空值检查应该可以工作
  • 添加“?”时似乎有问题,不存在
  • 在这里分享你的代码sn-p
  • 是 : const retrieveTutorials = () => { TutorialDataService.getAll() .then(response => { console.log(response?.data?.favorite_conseils); setTutorials(response.data); }) .catch(e => { console.log(e); }); };我使用这样的 axios 来调用 API: const getAll = () => { return http.get("/conseils/default_conseils"); }; (带有登录令牌的链接和标题是其他文件)
猜你喜欢
  • 2021-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多