Angular: повторно использовать редуктор и селекторы в разных корнях (без редукции) - PullRequest
0 голосов
/ 27 мая 2020

У меня разные маршруты

/ Department

/ кандидата

/ кандидата-отдела

Я должен использовать ту же структуру редуктора (состояние и действие) в / кандидаты и / кандидаты-отдел. Часть кандидата является общей с незначительной разницей в извлечении данных из api и хранении этих данных.

поэтому / кандидаты будут перечислять всех кандидатов, но для / кандидата-отдела у нас есть список отделов, который показывает кандидатов, соответствующих этот отдел.

Можно ли каким-либо образом использовать тот же самый магазин / действие / редьюсер из / кандидата в / кандидат-отдел с разницей только в функциональных ключах как в / кандидаты, так и в /candidates-department.

Мне тоже нужно повторно использовать селекторы.

1 Ответ

0 голосов
/ 29 мая 2020

ngrx предоставляет одно хранилище для одного StoreModule.forRoot. Все его дочерние элементы будут использовать одно и то же хранилище.

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

Если вам нужно вызвать StoreModule.forRoot в AppModule из-за других зависимостей, то плохие новости: нет способа разделить контексты для дочерних модулей родительского с помощью StoreModule.forRoot.

Если вы нужно - попробуйте добавить к своим действиям свойство, указывающее на ключ. И затем уважайте этот ключ в редукторах и селекторах. Это требует большего количества кода, но в настоящее время это единственный способ разделить его.

...