Tengo métodos de API para mi aplicación React dentro de una clase de API:
class API { constructor() { //setup axios } async deleteEquipment(item) { return this.axios.delete(...paths and stuff..) } } export default API(config)Esto funciona bien para la mayor parte de mi código, excepto cuando necesito entregarlo a los componentes a través de los accesorios, así:
import API from '../path/to/api.js' .. code <PageTable deleteItem={API.deleteEquipment} ...more props /> Esto no funciona, ya que parece que this que se usa en la clase para hacer referencia a axios ahora no está definido.
this.axios conduce a Cannot read properties of undefined (reading 'axios')
Probé el enlace tardío para vincular el método a la clase de esta manera:
<PageTable ...more props deleteItem={API.deleteEquipment.bind(API)} /> pero no parece tener mucho efecto. ¿Alguna idea de cómo mantener this referencia a la clase cuando PageTable llama al método?
¡Gracias por adelantado!
intente vincular deleteEquipment en el constructor
this.deleteEquipment = this.deleteEquipment(this);también use await con funciones asíncronas