多次调用ngrx / store-update-reducers

时间:2018-09-06 08:39:02

标签: angular reducers ngrx-store

这是我的代码结构:

app /
├──核心/
│└──app.reducers.ts /
├──app.component.html
├──app.component.ts
├──app.module.ts
├──app-routing.module.ts
├──核心/
│├──页脚/
│├──头/
│├──core.module.ts
├──认证/
│├──登录/
│├──注册/
│├──店铺/
││├──auth.actions.ts
││├──auth.effects.ts
││├──auth.reducers.ts
│├──auth.module.ts
│└──服务/
├──admin /
│├──仪表板/
│├──设置/
│├──店铺/
││├──admin.actions.ts
││├──admin.effects.ts
││├──admin.reducers.ts
│├──admin-routing.module.ts
│├──admin.module.ts
│└──服务/
└──共享/
    ├──shared.module.ts
    ├──零件/
    ├──型号/
    ├──零件/
    ├──指令/
    └──服务/

使用上面的代码,我使用@ ngrx / store库通过多个模块构造了代码,每个模块都有一个商店(包括:动作,减速器,效果)。我在根有一个主要商店,用于管理所有使用metareducer(从app.module.ts导入)的商店。我正在使用记录器查看每个  称为动作或更改状态,然后记录器将在控制台日志中显示当前状态或动作。

应用启动时,浏览器的控制台日志显示多次被商店调用。

我不知道为什么多次调用商店中的update-reducers。

我期望每个模块的日志消息在模块初始化时仅显示一次。我从许多源代码中进行了调查,这些源代码将所有reducer都存储在一个地方。对我的结构好吗?

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

作为记录:已在GitHub上得到回答:

  

每个注册一个新的StoreModule.forFeature都会调用   减速器。该问题已在下一个主要版本中进行了更新   注册的模块一起进行一次更新调用。