Задать вопрос
@BelkinVadim
Frontend разработчик

Правильно ли реализовал прелоадер?

Кода к сожалению сейчас нет под рукой, постараюсь на словах описать подробнее.
Есть компонент Каталог с пагинацией. Данные для него берутся из хранилища. Каталог подписан на событие изменения в его хранилище и вызывает .setState() с новыми данными из хранилища.
При рендере Каталога идет проверка, если его state пустое, то рендерится прелоадер, если нет - контент.
При переходе по пагинации вызывается экшн загрузки данных новой страницы каталога: сперва очищается хранилище и срабатывает событие его изменения, а затем аяксом загружаются данные новой страницы в хранилище и при завершение загрузки снова срабатывает событие изменения хранилища. Получается, что при очищение хранилища Каталог рендерит прелоадер и по загрузке меняет его на контент.
Так же подобный метод вывода прелоадера использую в других компонентах (у каждого свое хранилище). Тем самым на странице может быть выведено несколько компонентов со своими прелоадерами.
Правильно ли выбран подход для показа прелоадера на время загрузки данных через сброс хранилища и state компонента соответственно? Или данная реализация не совсем правильная?
  • Вопрос задан
  • 856 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
idelg
@idelg
Разработчик
Кажется, на сайдэффекты полагаешься. Если товаров нет или сервер вернул ошибку, то стэйт останется пустым и пользователь бесконечно долго будет смотреть на прелоадер.

Прелоадер показывается только в одном конкретном случае: запрос на сервер ушёл и ещё не вернулся.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽