Мы не заставляем наши компоненты ждать, мы разрешаем начальный рендеринг, но визуализируем целевой компонент с условным выражением.
render() {
return (
<div className={classes.EnigmaPage}>
<div className={classes.Header}>
<div>
{this.props.level && (
<LevelInfo
difficulty={this.props.level.difficulty}
level={this.props.level.level}
readUserData={this.readUserData()}
/>
)}
</div>
</div>
</div>
);
}
Итак, здесь мы проверяем, определено ли this.props.level
.Когда это undefined
React ничего не рендерит, после получения данных рендерится компонент LevelInfo
.Вы можете изменить условную логику рендеринга.Вы можете визуализировать Loading
компонент, может быть, вместо ничего.Но в конце дня вы сделаете ваш компонент условно.