Property 'xxx' does not exist on type 'AxiosResponse<any, any>' 的解决办法

原文链接 : Property 'xxx' does not exist on type 'AxiosResponse<any, any>' 的解决办法

vue3 + ts 中 调用接口时:

const loginOut = () => {
    loginOutApi().then(res => {
        const { code } = res
        if(code == 0){ }
    })
  }

报了如下错误:
Property 'code' does not exist on type 'AxiosResponse<any, any>'.ts(2339)


解决方法:

新增一个 axios.d.ts 文件,内容如下:

// 定义接口返回数据类型结构,这里根据后端返回去定义

interface resPage {
page: number
pageSize: number
total: number
hasNextPage: boolean
pageTotal: number
}

interface itfRes {
code: number
message: string | undefined
data: T
reason?: string
page?: resPage
}

import * as axios from 'axios'

declare module 'axios' {
interface AxiosResponse extends itfRes
}

加上之后的效果:

posted @ 2023-06-18 21:42  啊睦  阅读(1995)  评论(0编辑  收藏  举报