2015-02-01 3 views
0

Я работаю над приложением ReactJS + Flux. Приложение позволяет пользователю отправлять сообщение. Это сообщение может занять несколько секунд для загрузки на сервер, и я хочу отобразить индикатор выполнения.ReactJS/Flux - Прослушивание событий прогресса в магазине

Текущий поток: метод действия, называемый почтовыми данными -> диспетчер -> почтовый магазин -> ??? -> обновить пользовательский интерфейс для отображения индикатора выполнения.

Вопросительные знаки будут выпущены. Мой вопрос: является ли анти-шаблон использовать событие, отличное от «изменения»? Я хотел бы быть более конкретным (например, испускать «прогресс»), чтобы я мог сделать меньше работы в представлении, чтобы определить, был ли прогресс.

ответ

1

Я не думаю, что есть необходимость вводить новые типы событий, и это, вероятно, затруднит отслеживание потока данных по мере роста приложения. Кажется, что это можно обрабатывать с использованием обычных шаблонов проектирования. Если прогресс вычисляется на стороне клиента, вы можете сделать это в самом создателе действия (например, клик-обработчик, который отправляет почтовый запрос), и просто испустить ряд действий PROGRESS для обновления ваших магазинов и позволить вашим просмотрам обновляться по мере необходимости.

+0

Я попробую это позже - если это сработает и будет следовать шаблонам проектирования флюса, то я думаю, что это можно принять ответ. Спасибо! – lwansbrough

0

В конечном счете, я считаю, что что-то вроде индикатора прогресса является обязанностью взгляда, чтобы быть в курсе последних событий.

Способ, которым я занимался такими случаями, - это хранить в Хранилище время начала публикации. Затем в пользовательском интерфейсе вы можете прочитать эту метку времени из магазина и настроить интервал, чтобы получить текущую временную метку и вычислить дельта.

Смежные вопросы