У меня следующая настройка:
someReducer.ts
export interface State {
someProp: MyModel;
}
// some action listeners ..
//
//
export const getProp = (state: State) => state.someProp;
selector.ts
export const getProperty = createSelector(getState, fromSomeReducer.getProperty);
Теперь скажите в моих компонентах, что я хочу использовать преобразованную версию этого someProp
, например,
myProp = this.store.pipe(select(fromSelector.getProperty)).pipe(map(val => //some logic here));
. Теперь это отображение logi c может быть длинным, и я не хочу дублирование этого кода в нескольких компонентах.
Где лучше всего размещать это отображение?
Я добавляю его в reducer вот так
export const getMapped = (state: State) => state.map(val => // some logic);
, а затем я получить это в селекторе.
Это рекомендуемый подход?