Насколько я понимаю, избыточность - это строго однонаправленный поток данных.
actions (data in) -> store updates (reducer) -> react render (data flow ends here)
С наблюдаемым действием оно все еще однонаправлено
actions -> state changes -> react render
^ |
| |
epics<-
Однако при наблюдаемом состоянии данные возвращаются обратно
actions -> state changes -> react render
^ |
| |
epics <----
В результате это может привести к бесконечным потокам данных, когда
epicA
подписался на изменение stateA
изменения stateB
и
epicB
подписался на изменение stateB
изменений stateA
.
Особенно, когда приложение растет, становится все труднее отслеживать изменения состояния и отлаживать, что является именно той проблемой, которую пытается решить однонаправленный поток данных.
У меня где-нибудь есть недоразумения?
Чтобы прояснить мой вопрос, разве диспетчеризация действий с наблюдаемым состоянием не является антипаттерном однонаправленного потока данных Redux?