Начните с принятия события в ваш обработчик по клику. Это позволит вам остановить навигацию, пока сообщение не будет завершено.
Axios возвращает обещание, когда вы делаете запрос. Вам нужно подождать, пока это завершится, и затем обработать навигацию.
(event) => {
// stop the browser from navigating
event.preventDefault();
// save url so that you have the value after the event was disposed
const redirectUrl = event.target.href;
axios.post('http://my-server.com', { value: 'Hello' })
.then(response => {
// handle success
console.log(response);
})
.catch(error => {
// handle error
console.log(error);
})
.then(() => {
// always executed
// navigate logic here
console.log(redirectUrl);
});
}