ngrx / store init多次调用

时间:2018-01-18 09:22:42

标签: angular ngrx ngrx-store-4.0

我知道这已被多次解决(过去的大问题但应该用4.0修复)并且ngrx示例应用程序也使用延迟加载但是init未被多次调用。尽管如此,这个非常简单的设置(使用示例应用程序的许多组件)会导致init被调用两次,一次用于AppModule,一次用于延迟加载Module1ModuleModule2Module并非延迟加载并且效果很好。

最小的repro repo over herestackblitz repro

有人能够对这种行为有所启发吗?

编辑:在我正在处理的应用程序中,触发了这个问题,我注意到,对于每个新的init,整个行动历史似乎再次被发送。由于应用程序尚未连接到API,因此除了在控制台中之外,这不是很明显。如果将其连接到API,则意味着安静一些不必要的调用......

1 个答案:

答案 0 :(得分:0)

我知道问了这已经有很长的时间了,但是如果有人像我一样发现自己在这里,

在我们的例子中,我们使用的是ngxs,并且@@ Init被多次校准,因为我们有一个共享模块

imports: [
        NgxsModule.forRoot([
            MyState,
            MyState2
        ]

然后将该模块导入其他模块中。

按照ngxs文档中的说明将NgxsModul.forRoot(...)声明移动到app.module.ts后,它可以正常工作。