IL
1) Зачем нужен стейт-менеджмент с помощью ngrx, ngxs и т.д.? Просмотрел несколько статей на этот счёт - всё никак не могу понять, зачем городить столько прослоек, если в ангуляре из коробки есть сервисы, которые можно под это дело приспособить?
2) Чисто практический вопрос. Есть фильтр с чекбоксами, есть массив объектов. Массив объектов можно фильтровать по возможным значениям поля в чекбоксах и выводить. Я приспособил сервисы для этого. Есть сервис filter-store и array-store. При изменении фильтра автоматически фильтруется массив (array-store подписан на изменения filters-store с помощью observable), что логично, но появилась проблема - если фильтры возвращают пустой массив, то не нужно применять последнее изменение. То есть, мне придётся до применения фильтра отфильтровать массив и, если всё нормально, установить состояние фильтра на новое, а потом будет проходить фильтрация повторно в array-store. Где у меня ошибка в логике? Как лучше? Куда выносить подобное? Могут ли в этом случае помочь менеджеры стейта? Как, зачем, почему?
Надеюсь, написал более-менее понятно. Заранее спасибо за ответы;)
Если стратегия чейндж детекшена OnPush, то там одни сабджекты будут в хаотичном порядке с хаотичными именами. Кто-то делает их readonly и дает наружу, а кто-то инкапсулирует под внутренними методами сервиса и это все вносит хаос.
Я считаю что если один-два-три человека на проекте - можно и без ngrx, но если много людей и проект большой - все-таки стоит, ибо это единый стандарт построения стейта.
Но использование стейт менеджера не есть прямо обязательным



