如何使用axios.get

时间:2019-08-23 15:21:44

标签: reactjs typescript axios

我有一个简单的代码可通过Axios提取数据:

const response= await axios.get("blabla");

现在我正在尝试使用打字稿。

当我将类型添加到get方法时,它将起作用:

const response= await axios.get<Todo[]>("blabla");

但是我需要的是这样的:

const response:Todo[] = await axios.get("blabla");

但是如果我这样做,我会在response.data上收到错误消息:类型'Todo []'上的属性'data'不存在

所以有2个问题: 1)为什么第一种方法没有发生? 2)第二种方法怎么做?

1 个答案:

答案 0 :(得分:1)

axios.get()返回一个AxiosResponse<any>对象,其中response.dataany

axios.get<Todo[]>()返回一个AxiosResponse<Todo[]>对象,其中response.dataTodo[]

因此您可以将response输入为:

const response: AxiosResponse<Todo[]> = await axios.get("blabla");