Коллеги, не навязываю, но всё-таки плохим ngrx не могу назвать, потому-что:
1) Инструмент расчитан на сложные программы, ошибки в которых приводят к опасности для жизни людей.
Качество кода вынесена на первое место
По объяснению Boileprate есть хорошее видео:
https://www.youtube.com/watch?v=t3jx0EC-Y3c&list=PL8OUS498tQP3FFsZzULTGnbyIcILFjHd3&index=42) Mike Ryan и Brandon Roberts отвечающие за его разработку и вошли в Angualr Core Team;
3) Для упрощения работы уже есть: @ngrx/entity, @ngrx/schematics:
(
https://www.youtube.com/watch?v=bdCYZoB_Su4&list=PLAw7NFdKKYpE-f-yMhP2WVmvTH2kBs00s&index=9);
Помимо этого ngrx позволяет:
1) Использовать Memoization для перформанса сложных вычислений (
https://en.wikipedia.org/wiki/Memoization)
2) Разделять store и загружать только ту чать которая необходима;
3) Time-travel debugger и визуализация стора -- легко помогает отыскать ошибки;
Если человек начинает, для него главное понимать принцип хорошей архитектуры и поток данных
в программе, поэтому всё-таки рекомендую попробовать, а если прокачаешься, потом уже писать свой стейт-менеджер.