我在一个带有ngrx的项目中工作,还使用来自ngrx的其他库和包,如ngrx/entity或ngrx/data。
有时我需要在属于(就被调度而言)ngrx/data的某些操作中创建效果。
我发现一些困难的地方是调度其他动作,这些动作与ngrx / data以自动方式甚至我自己(自定义)调度的其他一些动作有很强的依赖性,如下所示
...
@Injectable()
export class FooEffects {
fooSelected$ = createEffect(() =>
this.actions$
.pipe(
ofType(FooActions.fooSelected),
map((action) => this.entityActionFactory.create<Foo>('Foo', EntityOp.QUERY_LOAD),
))
);
...
constructor(private actions$: Actions, private entityActionFactory: EntityActionFactory) { }
}
...
那么,如何监听ngrx/data中的QUERY_LOAD、通用get/all或其他任何动作来实现新效果的创建呢?它是否存在类似的东西
fooNgrxDataEffectForQueryLoad$ = createEffect(() =>
this.actions$
.pipe(
ofType(('Foo', EntityOp.QUERY_LOAD)),
或者以另一种方式问,我如何在 ngrx/data 中为“ NATIVE ”操作编写效果?
我知道创建 ngrx/data 是为了尽可能多地摆脱 Actions、Selectors、Effects、Reducers,因此样板文件更少。但是,应该有一种方法可以从ngrx/data 创建效果。
提前谢谢了。