Property 'xxx' does not exist on type 'Ax一文读懂TS的(.d.ts)文件iosResponse<any, any>&

2023-05-03 11:00:21 浏览数 (3)

问题描述

vue3 ts 项目中,使用axios库调接口时报了如下错误:

代码语言:javascript复制
Property 'code' does not exist on type 'AxiosResponse<any, any>'.ts(2339)

或者遇到 Property 'xxx' does not exist on type 'AxiosResponse<any, any>'.ts(2339) 类型问题我们该如何解决呢?

解决方法

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

代码语言:javascript复制
// 定义接口返回数据类型,这里根据后端返回去定义

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

interface itfRes<T = {}[] | {} | []> {
    code: number
    message: string | undefined
    data: T
    reason?: string
    page?: resPage
}

import * as axios from 'axios'

declare module 'axios' {
    interface AxiosResponse extends itfRes
}

加上之后的效果:

0 人点赞