Проект библиотеки компонентов Angular с NGRX?

Я использовал NGRX для нескольких проектов, и в целом он мне очень нравится. Но я борюсь с тем, использовать ли его в моем следующем проекте, который будет заключаться в создании библиотеки компонентов angular.

Рекомендуется ли использовать ngrx в типах проектов библиотеки angular? Как бы вы настроили корневое состояние по сравнению с состоянием функции? Будет ли основной модуль моего библиотечного проекта подключаться к корневому хранилищу ngrx? Если это так, то, если моя библиотека используется в родительском приложении, которое также использует ngrx, столкнется ли корневой магазин?

Обновление (больше контекста):

Большинство компонентов в библиотеке будут типичными формами типа данных. Например, предоставление компонентов для поиска, обновления, создания и удаления вещей в нескольких приложениях. Мы упаковываем их как библиотеку компонентов (и библиотеку элементов angular), потому что их нужно будет использовать в нескольких веб-приложениях, пока эти веб-приложения не сойдутся в одно новое супер-веб-приложение (срок конвергенции составляет 1+ год в будущем. ). Другой путь интеграции, который мы рассматривали, - это загрузка iframe во все эти клиентские приложения.

Сами компоненты будут подключаться к уровню API для выполнения всех операций ввода-вывода данных. Компонентам может потребоваться совместное использование частей состояния между компонентами.


person cobolstinks    schedule 19.02.2019    source источник


Ответы (1)


На этот вопрос сложно ответить, не имея полного контекста.

Если мы говорим о «чистой» библиотеке компонентов, я бы предпочел не использовать какие-либо библиотеки управления состоянием. Если компоненту нужно какое-то состояние, он должен управлять своим состоянием самостоятельно.

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

person timdeschryver    schedule 19.02.2019
comment
Но что, если у вас есть несколько компонентов на странице, которые имеют общее состояние. Где бы вы сохранили это состояние и можно ли задействовать NGRX? - person moefinley; 27.04.2020
comment
Забавно, что вы спрашиваете, потому что вчера я написал об этом пост. Надеюсь, это поможет timdeschryver.dev / blog / - person timdeschryver; 28.04.2020
comment
@timdeschryver вы бы использовали двухстороннюю привязку для компонента lib? а хост-компонент будет читать и обновлять магазин? (просто интересно, можно ли это сделать ..) или есть еще какие-нибудь предложения? - person USer22999299; 08.10.2020