Миграция магазина ngrx v2 в v4

Я смотрю на обновление довольно большого углового приложения, которое использует ngrx v2. Наши редукторы, и особенно селекторы, выглядят так, как это делало в то время: 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", я получаю тонны "Property" select "не существует для типа" Observable ".

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

0 ответов

Другие вопросы по тегам