Может ли общий компонент использовать свой собственный @ngrx/store?

Я разрабатываю общий компонент Angular (в своем собственном репозитории, используя ng-packagr и angular 5, для публикации в виде пакета npm), и я хотел бы использовать @ngrx/store, потому что компонент достаточно сложен, чтобы оправдать это. Я хотел бы, чтобы хранилище было внутренним для компонента. В частности, это будет означать, что:

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

Какие отношения зависимости (в моем компоненте package.json, такие как peerDependencies или dependencies) и код инициализации (в моем основном модуле компонента my-component.module.ts) потребуются моему компоненту для выполнения этого?

Какие отношения зависимости (в package.json интегрирующего приложения) и код инициализации (в основном модуле app.module.ts интегрирующего приложения) потребуется интегрирующему приложению для ввода, инициализации и использования компонента после его публикации ?


person Lyn Headley    schedule 18.05.2018    source источник
comment
BehaviorSubject может сохранить небольшое состояние для компонента, зачем вам использовать ngrx/store для состояния компонента? Он такой большой?   -  person ibenjelloun    schedule 19.05.2018


Ответы (1)


Я думаю, что лучшим вариантом в этом случае будет новый @ngrx/component-store. упаковка. Я использовал это в проекте на работе и настоятельно рекомендую его для всего, где вы в противном случае использовали бы множество BehaviorSubjects для поддержания состояния внутри компонента или его дочерних элементов.

person Ben Rinehart    schedule 02.12.2020