Ngrx商店没有减速器?只派出要被效果抓住的动作

时间:2020-03-25 16:54:30

标签: ngrx

我希望我的页面在ngOnInit上分配一个动作,该动作将被一个效果捕获,并且该效果将this.router.navigate(['path'])移至新路径。

我在这里不需要任何减速器。

但是我无法使它正常工作,因为this.store.dispatch()仅在我将商店作为DI注入并将其键入为我的当前状态时才可以工作,例如private store: State<fromReducers.State>

我的模块像这样导入商店:

@NgModule({
  imports: [
    CommonModule,
    RouterModule.forChild([
      { path: '', pathMatch: 'full', component: EvaluationContainer }
    ]),
    StoreModule.forFeature('evaluation', {}),
    EffectsModule.forFeature(Effects)
  ],
  declarations: [EvaluationContainer]
})
export class FeatureEvaluationModule {}

How can I still dispatch the action in this situation?

Thanks!

1 个答案:

答案 0 :(得分:0)

您需要在父模块中导入StoreModule.forRoot()。如果它是您的根模块,则在这里。您可以在此处跳过StoreModule.forFeature('evaluation', {})部分。

我就是这样做的:https://take.ms/ZXxOx