Window.locatin, предотвращающий удаление данных - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть кнопка, при нажатии которой я хочу удалить объект.Вот моя кнопка:

<Button onClick={this.handleDelete.bind(this)}> 
    Delete 
</Button>

А вот моя handleDelete:

handleDelete() {
    axios
      .delete(
        `http://proiectdepozite.laravel/api/clienti/${this.state.client.id}`
      )
      .then((window.location = "/clienti"))
      .catch(error => console.log(error));
  }

Теперь, если я нажму кнопку, она перенаправит меня туда, куда я хочу, но этоне буду ничего удалять.Я попытался закомментировать .then(....), и все работает как надо.Где ошибка?

Ответы [ 2 ]

2 голосов
/ 22 апреля 2019
axios.delete('url', { data: payload }).then(
  // Observe the data keyword  Very important
  // payload is the request body

   ()=>(window.location = "/clienti")//you can pass as pipe function


)
2 голосов
/ 22 апреля 2019

. Затем метод нуждается в функции обратного вызова, но вы просто передаете некоторое выражение.

handleDelete() {
    axios
      .delete(
        `http://proiectdepozite.laravel/api/clienti/${this.state.client.id}`
      )
      //try this
      .then(()=>(window.location = "/clienti"))
      .catch(error => console.log(error));
  }
//use async await
async handleDelete() {
   try{
    let result = await axios.delete(
       `http://proiectdepozite.laravel/api/clienti/${this.state.client.id}`
      )

     if(result){
       //success logic 
       window.location = "/clienti"
     }

  }
  catch(e){
    throw e;
  }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...