Запросы на сервер делаются в componentDidMount, это нужно для того чтобы пользователь увидел страницу сразу, а не ждал загрузки контента с сервера. Пока данные не загружены обычно отображается прелоадер. Вот
пример
Вот
тут проверяем что данных еще нет и возвращаем спиннер
А как только данные придут отобразится
список данных