Búsqueda de sitios web

reactjs - Axios.delete(url[,config]): El tipo no tiene propiedades en común con el tipo 'AxiosRequestConfig'


Uso React, Typescript y Axios. Declaro una clase para ser poblada por funciones estáticas así:

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)
  }
}

La primera función (checkinByPassword) funciona bien. La segunda función hace que ESLint (yo uso ESLint para el editor VSCode) arroje un error:

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

¿Qué es AxiosRequestConfig? ¿Y cómo hago que mi objeto params sea compatible con él? Gracias de antemano

Respuesta #1

axios.delete toma dos argumentos, el primero es una ruta URL y el segundo es la configuración.

Necesitas envolver tu objeto params en otro objeto que tenga una propiedad data.

Por ejemplo:

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

axios.delete(url, config)...

o

const params = {id: id};

axios.delete(url, {
  data: params
})...

Artículos relacionados