В текущем рабочем проекте для написания большого монолитного frontend-приложения на Angular решили брать полный инструментарий ngrx (store, entity, effects), основное применение effects в проекте — асинхронные операции (запросы к бэкенду).
В результате любой модуль обрастает излишней сложностью, например, если есть задача отслеживания контекста, из которого был отправлен action — допустим, нам нужно сообщить пользователю, что данные были успешно загружены с бэкенда, но только если пользователь ушел со страницы, с которой был отправлен action.
По личным ощущениям, можно оставлять только store и entity модули ngrx библиотеки, и делать любые максимально гибкие и расширяемые UX сценарии.
В результате любой модуль обрастает излишней сложностью, например, если есть задача отслеживания контекста, из которого был отправлен action — допустим, нам нужно сообщить пользователю, что данные были успешно загружены с бэкенда, но только если пользователь ушел со страницы, с которой был отправлен action.
По личным ощущениям, можно оставлять только store и entity модули ngrx библиотеки, и делать любые максимально гибкие и расширяемые UX сценарии.