reactjs - 在响应中调用函数以从 componentDidMount 获取 API 数据
问题描述
我无法使用从 API 调用的函数从 API 获取数据componentDidMount
。
我想做的是使用 a 从 API 获取数据getData()
,但我不明白如何从componentDidMount
.
import React, { Component } from "react";
import axios from "axios";
class AJAX extends Component {
constructor(props) {
super(props);
this.state = {
quote: ""
};
}
getData = async () => {
console.log("Inside getData");
const data = await axios.get("https://api.github.com/zen");
return data;
};
async componentDidMount() {
console.log("inside compo");
let data1 = await this.getData();
console.log(data1);
}
render() {
return (
<h1>"Hello"</h1>
);
}
}
export default AJAX;
错误:我得到的是这个
Request failed with status code 403
解决方案
给定的错误是关于授权的。你必须授权调用api。对于授权,您必须像这样传递令牌参数:
const token = '..your token..'
axios.post(url, {
//...data
}, {
headers: {
'Authorization': `Basic ${token}`
}
})
推荐阅读
- computation-theory - 是否存在仅由 1 个元素组成的非 RE 语言?
- c# - 在相机预览窗口中显示线 Gizmos 或 GL.Lines
- css - Bootstrap 4 卡 UI 无法正常工作
- r - R中的CountVectorizer无法将所有单词都放入包中
- html - 我怎样才能让我的导航粘在页面顶部?
- python - Python MySQL 连接器不适用于 SSL
- android - 颤振饼图 labelAccessorFn 不起作用
- android - Flutter cloud_firestore 错误:找不到符号 > @Nullable
- lit-html - lit-html:如何只听点击源元素而不是子元素
- python - 使用 platformio-ide-terminal 运行 python 代码