Я использую react-apollo
с graphql
HOC:
У меня есть запрос по пользовательскому вводу, который может выполняться в течение различного времени и вызывается нажатием клавиш, результат этого запроса:передается компоненту пользовательского интерфейса для отображения результатов поиска.
- (0:00) Пользователь ищет
Foo
, для запуска которого требуется - (0:01).1с пользователь вводит
Foo bar
, что требует 5 секунд для запуска - (0:06) Компонент отображает с
Foo bar
результатами, как ожидал бы пользователь - (0:10) Первый запросдля
Foo
завершает работу и выводит устаревшие результаты для Foo
, хотя ввод теперь Foo bar
Есть ли какой-либо стандартный способ работы с такими сценариями?
Моим текущим решением будет реализация HOC, которая будет проверять, равняется ли term
, введенный пользователем, результату data.variables
, возвращенному результатом, и если есть несоответствие, отключить дальнейшую визуализацию с использованием shouldComponentUpdate
.Тем не менее, хотелось бы услышать больше мнений, поскольку это звучит как обычный сценарий в React.