У меня уже есть событие click внутри троичного оператора, которое выполняет запрос GET от моего API. Когда кнопка нажата, кнопка исчезает, а текст данных заменяет кнопку (кнопка исчезает). Но есть небольшой промежуток времени между запросом get и раскрытием текста. Я хочу поместить какое-то загрузочное сообщение в тот момент, чтобы пользователь знал, что что-то происходит. Но не могу понять это. Вот мой код:
import React, {Component} from "react";
import axios from "axios";
export default class FoodData extends React.Component {
constructor(props) {
super(props);
this.state = {
meal: '',
clicked: false,
isLoaded: false,
}
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState({
clicked: true,
});
}
fetchData() {
axios.get('api/menu/food')
.then(res => {
const meal= `${res.data.starters},${ res.data.price}`;
this.setState({
meal: meal,
isLoaded: true
})
console.log(meal)
})
};
combinedFunction() {
this.fetchData();
this.handleClick();
}
render(){
const {isLoaded, meal} = this.state;
return (
<div >
Dish: {
this.state.clicked ? (
this.state.menu
) : (
<button onClick={() => { this.combinedFunction() }}>Find Dish</button>
)}
</div>
);
}
}
Благодарю за помощь.