【发布时间】: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