Как реализовать «отложенный загрузчик» с помощью apollo-client?

Я хочу показывать загрузчик только по истечении определенного времени. Apollo предоставляет свойство loading, но мгновенно показывает загрузчик.

Я думал о том, чтобы что-нибудь вместе взломать, используя componentWillReceiveProps, но если есть более идиоматический способ сделать это, я был бы более чем счастлив использовать его.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
474
1

Ответы 1

Для такого рода вещей я бы использовал componentDidUpdate и добавил setTimeout или, возможно, таймер обратного отсчета состояния React. Если задержка всего на пару секунд, setTimeout подойдет, но если это долгое время, возможно, обратный отсчет на основе состояния будет лучше.

Что такое таймер обратного отсчета состояния реакции?

Mihir 14.08.2018 08:24

Раньше был пример такой в ​​документации React, но я больше не могу его найти. Вот один из SO-ответа. Может быть немного излишним, чтобы отложить загрузку счетчика, но вы можете создать новый компонент на месте и передать ему реквизиты, и всю эту логику в новом компоненте stackoverflow.com/q/40885923/1058586

JamesG 14.08.2018 08:27

Grrr. Не любитель играть с таймерами. Но я дам ему шанс! Спасибо за указатель. Я согласен, если это сработает.

Mihir 14.08.2018 08:37

Другие вопросы по теме