5

我使用 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)
  }
}

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

Type '{ id: string; }' has no properties in common with type 'AxiosRequestConfig'.

VSCode 中的屏幕截图

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

4

1 回答 1

5

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

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

例如:

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

axios.delete(url, config)...

或者

const params = {id: id};

axios.delete(url, {
  data: params
})...
于 2020-03-02T07:04:30.323 回答