При использовании менеджера состояний нужно ли хранить дополнительные данные в компонентах? - PullRequest
3 голосов
/ 12 июня 2019

При использовании диспетчера состояний с Angular, означает ли это, что все атрибуты класса компонента являются селекторами? Если нет, каковы рекомендации по решению, что хранить в хранилище и что хранить в атрибутах класса компонента?

1 Ответ

3 голосов
/ 12 июня 2019

Я бы посоветовал вам взглянуть на несколько ресурсов о компонентах Smart и Dumb. При использовании менеджера состояний у вас есть возможность очень хорошо применять эту архитектуру. Взгляните на одну из хороших статей Smart Components vs Presentational Components . В Angular люди называют их контейнерами против компонентов.

Для быстрого ознакомления, Разделяйте компоненты между уровнем представления и уровнем домена.

Компоненты домена уровня называются контейнерами , которые могут иметь доступ к менеджеру состояния. Они контролируют, как государство управляется. Контейнеры передают необходимые данные компонентам представления, и с помощью источников событий, поступающих от них, контейнеры изменяют состояние домена.

Уровень представления их просто называют компонентами , они тупые, у них нет доступа к диспетчеру состояний. Все, что они могут иметь, - это получать данные из контейнеров или других компонентов с помощью Input. Вывод помогает передавать события в контейнеры, чтобы контейнер мог изменять состояние. Также у немых компонентов может быть свое собственное частное состояние, которое помогает поддерживать правильное состояние пользовательского интерфейса.

...