Redux в Angular. Управление состояниями в Angular с помощью Ngrx и Nx.

В статье — Redux в Angular с помощью Ngrx. Создание Store в Angular, уже были рассмотрены основные концепты и методы использования ngrx в Angular. Однако, с того времени Ngrx и Nx обновили свои подходы к организации stat’ов. Поэтому в этой статье мы актуализируем ранее приведённые подходы, а также поговорим о новых договорённостях, которые помогут упростить поддержку и развитие state’а.

Redux базируется на паре простых идей:
В проекте есть один объект — store, который хранит в себе все состояния (значения) переменных. Изменить state из вне нельзя. Для внесения новых значений в store, используется специальная функция (dispatch), которая принимает action с payload’ом. Action — специальный уникальный объект, с помощью которого можно определить, какие значения в state нужно изменить. Payload — набор значений, которые будут установлены в state или помогут установить значения в state, который передаётся как аргумент в action’е. Для получения значений из store используется специальная функция select’ор (геттер), которая возвращает требуемое значение из store.