Вам нужно подождать до всех из них и отметить для рендера, что он может рендериться, поэтому вы можете ввести свойство state
, назовем его isLoaded
.
Это значение должно начинаться с false
и становиться true
только после выполнения 3 запросов ajax.
У вас есть 2 варианта:
- Асинхронно-ожидающий синтаксис
- Promise.all
Пример:
class MyComp extends React.Component {
constructor(props) {
super(props);
this.state = {
isLoaded: false,
};
}
async componentDidMount() {
await Promise.all([this.areasGet(), this.specGet(), this.industriesGet()]);
this.setState({ isLoaded: true });
}
render() {
const { isLoaded } = this.state;
if (isLoaded) {
return <div>Here is you component that needs all the 3 ajax requests</div>;
} else {
return <div>Loading...</div>;
}
}
}