Миграция магазина ngrx с версии 2 на версию 4

Я изучаю возможность обновления довольно большого углового приложения, которое использует ngrx v2. Наши редукторы и особенно селекторы выглядят так, как это репозиторий в то время: ="nofollow noreferrer">https://github.com/ngrx/example-app/blob/05be2b0c1dd1b1d522adb796bd4c1fce2cc5b366/src/app/reducers/books.ts.

import '@ngrx/core/add/operator/select';

export function getBookEntities(state$: Observable<State>) {
  return state$.select(state => state.entities);
}

export const getBookCollection = function (state$: Observable<State>) {
  return combineLatest<{ [id: string]: Book }, string[]>(
    state$.let(getBookEntities),
    state$.let(getCollectionBookIds)
  )
  .map(([ entities, ids ]) => ids.map(id => entities[id]));
};

Затем, чтобы использовать данные в компоненте:

this.books$ = store.let(fromRoot.getBookCollection);

В руководстве по миграции также говорится:

@ngrx/core больше не нужен и может конфликтовать с @ngrx/store. Вы должны удалить его из своего проекта.

Поэтому, когда я удаляю импорт '@ngrx/core/add/operator/select', я получаю множество сообщений "Свойство 'select' не существует для типа 'Observable'.

Каков рекомендуемый путь миграции, если я не хочу вводить повторный выбор, который использует пример приложения?


person hazmah0    schedule 01.12.2017    source источник