【问题标题】:React API Error (Unhandled Rejection (TypeError): Cannot read property '0' of undefined)React API 错误(未处理的拒绝(TypeError):无法读取未定义的属性“0”)
【发布时间】:2019-07-19 08:10:17
【问题描述】:

我对 API 的东西很陌生,但我遇到了一些问题。 将 youtube 教程的说明转换为我需要使用的另一个 API 时出现此错误。

我收到的错误是'Unhandled Rejection (TypeError): Cannot read property '0' of undefined'.
这指向我的代码中的这一行: this.setState({person: data.results[0], loading: false });

(它所在的组件。)

async componentDidMount(){ const url = "https://api.floraxchange.nl/artikel?relatieid=215&Code=214325432"; const response = await fetch(url); const data = await response.json(); this.setState({person: data.results[0], loading: false }); }

【问题讨论】:

  • 看起来 data.results 的结果是未定义的。尝试记录数据以查看其外观(即返回后的 console.log(data))。
  • @DonBrody 它返回这个:(40) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] 0: {ID: 268431, Code: "12 TCMIX", Naam: "Dragonmix in Terra Cotta met schotel", Potmaat: "13 cm", PotmaatNumeriek: 13, …}
  • 我认为应该是 ({person: data.result[0], loading:false });
  • @HastaTamangThat 给出了同样的错误,但将 '0' 替换为 'items' 我感谢您的帮助 :)
  • @DonBrody 很有魅力,非常感谢大家!

标签: javascript reactjs api


【解决方案1】:

(感谢@DonBrody,所以我可以结束这个问题)

看起来结果数组是在顶层返回的。所以你也许可以试试 data[0] 而不是 data.results[0]

非常感谢大家

【讨论】:

    猜你喜欢
    • 2019-11-13
    • 2020-04-29
    • 2021-03-11
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2019-08-06
    相关资源
    最近更新 更多