far*_*and 5 typescript reactjs axios
我有一个简单的代码来通过 Axios 获取数据:
const response= await axios.get("blabla");
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试使用打字稿。
当我将类型添加到 get 方法时,它会起作用:
const response= await axios.get<Todo[]>("blabla");
Run Code Online (Sandbox Code Playgroud)
但我需要的是:
const response:Todo[] = await axios.get("blabla");
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,我会收到一个错误消息response.data:“Todo[]”类型上不存在属性“数据”
所以有两个问题:1)为什么第一种方法没有发生?2)第二种方式怎么做?
ric*_*aan 10
axios.get()返回一个AxiosResponse<any>对象,其中response.data是any。
axios.get<Todo[]>()返回一个AxiosResponse<Todo[]>对象,其中response.data是Todo[]。
所以你可以输入response:
const response: AxiosResponse<Todo[]> = await axios.get("blabla");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5696 次 |
| 最近记录: |