【问题标题】:React Native: How save data from Api callReact Native:如何从 Api 调用中保存数据
【发布时间】:2021-08-24 22:58:56
【问题描述】:

我是 React Native 和 JS 的第一步,但在从 API 保存数据时遇到了一些问题。

我的 Api 调用返回一个像这样的 Json:

    "nomeSquadra": "TeamName",
    "username": "ManagerName",
    "annoFondazione": 2013,
    "budgetAttuale": 100.00,
    "rosa": [
        {
            "idGiocatore": 761,
            "nomeGiocatore": "EMIL",
            "cognomeGiocatore": "AUDERO",
        }
    ],
    "idLega": 3
}

目前我使用以下几行从 apiCall 获取响应并将 rosa 属性保存到 setState 中。

const response = await foApi.get(`api/ApiDetailName`, {headers: {
                'Content-Type': 'application/json',
                'Authorization': `Bearer`
            }});
        const json = await response.data.rosa;

现在我还需要保存 idLega。如果我像 json 一样做同样的事情:

const json2 = await response.data.idLega;

它不起作用,我不知道为什么。有没有更好的方法从响应中获取所有属性?

非常感谢!

【问题讨论】:

  • 你能不能console.logresponse.data看看数据是否正常返回
  • 我用 Jimbo 的回答解决了。谢谢:)

标签: javascript react-native axios


【解决方案1】:

假设你正在使用 axios。

const response = await foApi.get(`api/ApiDetailName`, {headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer`
        }});

if(response) {
    const { idLega, rosa } = response.data;
}

【讨论】:

  • 是的,我正在使用 axios :) 它有效!非常感谢。为什么双重分配不起作用?像下面这样?常量 idLega,= response.data.idLega; const rosa = response.data.rosa;
  • 您正在使用等待非异步功能,这就是它不起作用的原因。
  • 好吧,有道理 ^^ 非常感谢!
猜你喜欢
  • 2021-10-07
  • 2022-01-26
  • 2018-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 2017-10-30
  • 2018-03-08
相关资源
最近更新 更多