redux 如何使用@ngrx/data定制我的减速器?

yiytaume  于 2023-02-04  发布在  其他
关注(0)|答案(2)|浏览(130)

我正在学习使用@ngrx/data,使用这个库确实可以推进很多代码,但是在个性化方面我遇到了一些问题。
export const entityMetadata: EntityMetadataMap = { User: { additionalCollectionState: { testing: null } } };
并在此处设置模块:

export class UsersModule {
  constructor(private eds: EntityDefinitionService) {
    eds.registerMetadataMap(entityMetadata);
  }
}

上面一切都很好,但是......,我如何添加自己的减速器,在文档中我看得不是很清楚

vwkv1x7d

vwkv1x7d1#

简单地按照他们的文档如何添加自定义减速器:https://ngrx.io/guide/data/entity-reducer#customizing-entity-reducer-behavior
可以为图元类型创建自定义异径管,并直接将其注册到EntityCollectionReducerRegistry.registerReducer()
您可以通过调用EntityCollectionReducerRegistry.registerReducers(reducerMap)同时注册多个定制的reducer,其中reducerMap是reducer的散列,以实体类型名称为键。

jmp7cifd

jmp7cifd2#

也许这会有所帮助:https://slides.com/jiali/deck-5/fullscreen#/36

ngrx/data extension points
Change built in behaviors
Customized EntityCollectionService
Customized EntityAction/Dispatcher
Add property to EntityCollection
Customized DataService
Customized merge strategy
Customized http url generator
Customized plural names
Customized persistentResultHandler
Use normal ngrx
Dispatch own action
Add own reducer/effects

相关问题