Angular 如何保持ngrx干燥?

Angular 如何保持ngrx干燥?,angular,ngrx,Angular,Ngrx,不要重复你自己 我有两种状态 一个是汽车交易,一个是飞机交易 所有操作都是复制、粘贴和更改操作名称 所有效果都是复制和粘贴,并更改效果名称和请求URL 所有的还原器本质上都是复制和粘贴的 有没有办法避免ngrx中的这种重复 Thx不,这是ngrxredux著名的样板,但请看ngrx的作者给出了一些关于 使用NgRx减少样板文件-Brandon Roberts和Mike Ryan 不,这是ngrxredux著名的样板,但请看ngrx的作者给出了一些关于 使用NgRx减少样板文件-Brandon R

不要重复你自己

我有两种状态

一个是汽车交易,一个是飞机交易

所有操作都是复制、粘贴和更改操作名称

所有效果都是复制和粘贴,并更改效果名称和请求URL

所有的还原器本质上都是复制和粘贴的

有没有办法避免ngrx中的这种重复


Thx

不,这是ngrxredux著名的样板,但请看ngrx的作者给出了一些关于 使用NgRx减少样板文件-Brandon Roberts和Mike Ryan

不,这是ngrxredux著名的样板,但请看ngrx的作者给出了一些关于 使用NgRx减少样板文件-Brandon Roberts和Mike Ryan
当然有,你可以很好地将泛型应用于状态和效果。在你的商店里,行动是通过它们的类型来识别的,所以确保你包括了这些,你就可以开始行动了

可悲的结果是,在使用您的操作时,您需要添加逻辑,因为

store.dispatch(new Load('car'));
坦白地说,它不那么好,也不那么安全

store.dispatch(new LoadCar());
对于效果,可以创建一个可接受多种类型的效果:

$loadCar = this.actions.pipe(
   ofType([VehicleActions.loadCar, VehicleActions.loadTruck]),
   this.applyLoadLogic
)

$loadTruck = this.actions.pipe(
   ofType(VehicleActions.loadTrailer),
   obs => this.applyLoadLogic(obs, false)
)

applyLoadLogic(in: Observable<Action>, canDrive: boolean = true): Observable<Action> {
   return in.pipe(
      map(action => this.doMagic(action.payload, canDrive))
   );
}

当然,你可以很好地将泛型应用到状态和效果。在你的商店里,行动是通过它们的类型来识别的,所以确保你包括了这些,你就可以开始行动了

可悲的结果是,在使用您的操作时,您需要添加逻辑,因为

store.dispatch(new Load('car'));
坦白地说,它不那么好,也不那么安全

store.dispatch(new LoadCar());
对于效果,可以创建一个可接受多种类型的效果:

$loadCar = this.actions.pipe(
   ofType([VehicleActions.loadCar, VehicleActions.loadTruck]),
   this.applyLoadLogic
)

$loadTruck = this.actions.pipe(
   ofType(VehicleActions.loadTrailer),
   obs => this.applyLoadLogic(obs, false)
)

applyLoadLogic(in: Observable<Action>, canDrive: boolean = true): Observable<Action> {
   return in.pipe(
      map(action => this.doMagic(action.payload, canDrive))
   );
}

首先要记住,动作/减速器不是样板。虽然可能感觉是这样,但这并不是因为您的域不同,例如员工不是订单

也就是说,管理您的收藏是非常必要的


还有就是,你所说的一切都是由动作、减缩、效果和服务创造出来的

首先要记住,动作/减速器不是样板。虽然可能感觉是这样,但这并不是因为您的域不同,例如员工不是订单

也就是说,管理您的收藏是非常必要的


还有就是,你所说的一切都是由动作、减缩、效果和服务创造出来的

你是说ngrx吗?还是ng redux?我的意思是ngrx存储一个更合适的标签?NgRx的Angular tag指的是NgRx的特定部分,NgRx是不是应该更新?此外,声明ngrx是Angular的无功扩展。您是指ngrx吗?还是ng redux?我的意思是ngrx存储一个更合适的标签?这个问题似乎是指ngrxngrx的特定部分NGRx是一个存储解决方案NGRx为Angular提供了一组反应性库是标签,也许应该更新?另外,声明ngrx是Angularquote的无功扩展什么是ngrx?Redux状态管理器受到了广泛的欢迎,并启发了ngrx的创建,ngrx是一组模块,实现了相同的状态管理方式以及Redux生态系统中的一些中间件和工具。ngrx专门用于Angular和RxJS,因为它严重依赖于可观察范式。我认为对于反应式扩展,你指的是Rxjsquote什么是ngrx?Redux状态管理器受到了广泛的欢迎,并启发了ngrx的创建,ngrx是一组模块,实现了相同的状态管理方式以及Redux生态系统中的一些中间件和工具。ngrx专门用于Angular和RxJS,因为它严重依赖于可观察范式。我认为,对于无功扩展,你指的是Rxjs?ngrx数据超过ngrx示意图?ngrx数据超过ngrx示意图?