Как устранить неоднозначность событий магазина при использовании Reflux или Flux?
Последние пару дней меня что-то беспокоило, и я не могу найти решение, которое мне нравится. Я использую рефлюкс, но я думаю, что это применимо и к ванильному флюсу.
Итак, скажем, у меня есть React ComponentOne, который вызывает действие потока, чтобы опубликовать некоторые данные формы в API для создания вещи.
Мой магазин запускает событие "Хорошо, вещь отправлена", а затем через некоторое время запускается событие "Хорошо, вещь создана".
Как мой ComponentOne должен устранять эти события? ComponentTwo мог вызвать то же действие, и мы не знаем, какое событие Thing-POSTed соответствует какому компоненту.
Возможно, данные ComponentOne приводят к событию сбоя, в то время как ComponentTwo приводит к завершенному событию... у нас есть два события, оба из которых являются вероятными событиями, ожидаемыми обоими компонентами, и не имеют очевидного способа определить, что есть что.
1 ответ
Вы можете поддерживать состояние изменений данных API внутри соответствующего Магазина, например, isLoading, isLoaded и необязательную отметку времени. Затем внутри события View onChange получите текущее состояние из Store и обновите соответствующий View текущим состоянием.
см. соответствующее решение - Вызов другого действия на основе результатов другого действия в React JS