Как я могу настроить редукторы с помощью @ngrx/data?
Я учусь использовать @ngrx/data, это правда, что с этой библиотекой я продвигаю много кода, но у меня возникают проблемы, когда дело доходит до его персонализации. Я уже видел, как добавлять поля в коллекции
export const entityMetadata: EntityMetadataMap = {
User: {
additionalCollectionState: {
testing: null
}
}
};
и установите модуль здесь:
export class UsersModule {
constructor(private eds: EntityDefinitionService) {
eds.registerMetadataMap(entityMetadata);
}
}
Там все хорошо, но..., Как я могу добавить свои редукторы, в документации я не очень четко это вижу
2 ответа
Просто следуйте их документам, как добавлять собственные редукторы: https://ngrx.io/guide/data/entity-reducer
Вы можете создать собственный редуктор для типа объекта и зарегистрировать его напрямую с помощью EntityCollectionReducerRegistry.registerReducer()
.
Вы можете зарегистрировать несколько настраиваемых редукторов одновременно, позвонив EntityCollectionReducerRegistry.registerReducers(reducerMap)
где reducerMap - это хэш редюсеров с ключом entity-type-name.
Может быть, это поможет: 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