我有一个简单的代码来通过 Axios 获取数据:
const response= await axios.get("blabla");
现在我正在尝试使用 typescript 。
当我将类型添加到 get 方法时,它会起作用:
const response= await axios.get<Todo[]>("blabla");
但我需要的是:
const response:Todo[] = await axios.get("blabla");
但是,如果我这样做,我会在
response.data
上收到错误消息:“Todo[]”类型上不存在属性“数据”所以2个问题:
1)为什么第一种方法没有发生?
2)第二种方式怎么做?
最佳答案
axios.get()
返回一个 AxiosResponse<any>
对象,其中 response.data
是 any
。axios.get<Todo[]>()
返回一个 AxiosResponse<Todo[]>
对象,其中 response.data
是 Todo[]
。
所以你可以输入 response
为:
const response: AxiosResponse<Todo[]> = await axios.get("blabla");
关于reactjs - 如何使用类型作为来自 axios.get 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629111/