Axios.delete(url[,config]):类型与类型“AxiosRequestConfig”没有共同的属性

Den*_*Hiu 13 typescript reactjs eslint axios typescript-eslint

我使用 React、Typescript 和 Axios。我声明一个由静态函数填充的类,如下所示:

import axios from "axios"

export default class Users {

  static checkinByPassword(username: string, password: string){
    const params = {username, password}
    return axios.post(`/${this._key}/checkinbypassword`, params)
  }

  static delete(id: string){
    const params = {id: id}
    return axios.delete(`/${this._key}`, params)
  }
}
Run Code Online (Sandbox Code Playgroud)

第一个函数(checkinByPassword)工作正常。第二个函数使 ESLint(我使用 ESLint 作为 VSCode 编辑器)抛出错误:

Type '{ id: string; }' has no properties in common with type 'AxiosRequestConfig'.
Run Code Online (Sandbox Code Playgroud)

VSCode 中的屏幕截图

什么是AxiosRequestConfig?以及如何使我的 params 对象与其兼容?先感谢您

Taz*_*dze 15

axios.delete有两个参数,第一个是 url 路径,第二个是配置。

您需要将 params 对象包装为另一个具有data属性的对象。

例如:

const config = {
  data: {
    id: "your id"
  }
}

axios.delete(url, config)...
Run Code Online (Sandbox Code Playgroud)

或者

const params = {id: id};

axios.delete(url, {
  data: params
})...
Run Code Online (Sandbox Code Playgroud)