@BelkinVadim
Frontend разработчик

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

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

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

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

Похожие вопросы