Если вы перейдете к ngrx monorepo на github , вы можете просмотреть всю документацию для прошлых выпусков, нажав кнопку «Branch: master» (расположенную слева от зеленого «Clone» или загрузив ее).«кнопка»> выбрав вкладку «теги»> щелкнув тег, связанный с интересующей вас версией приложения. Это покажет вам репо, как это было для этой версии, затем вам нужно будет перейти к документации для магазина.(который, я думаю, мог перемещаться в репо между версиями).
К сожалению, репо изменилось между версией 2 и версией 4 (не было версии 3), поэтому у них там нет документации по версии 2(Я не уверен, где это).Тем не менее, если вы сравните документацию для версии 4 с документацией для версии 6 ngrx / store, надеюсь, это поможет вам понять, что изменилось.
Одно изменение: rxjs перемещен в lettableоператоры .Я не уверен, что они по-прежнему допускают синтаксис observable.operator()
в 6-й версии angular, но в более поздних версиях вам определенно необходимо использовать синтаксис оператора lettable observable.pipe(operator())
.
В ngrx/store
новомсинтаксис store.pipe(select())
, и вам нужно будет импортировать каждую операторную функцию отдельно.
this.modifyState$ = store.pipe(select('suitablyInfoModify'));
this.client$ = this.modifyState$.pipe(map(data => data.get('client')));
Кроме того, если только данные, возвращаемые вашим редуктором 'suitablyInfoModify'
, не являются классом или объектом, он не будет иметьget()
метод, связанный с ним.Обычно (во всех примерах, которые я видел) редукторы ngrx возвращают простые (например, json) данные.Это не является обязательным требованием, поэтому ваш редуктор определенно может возвращать экземпляры классов.
Отдельно, я не помню, использует ли Angular 6 rxjs 6 или нет, но rxjs 6 также ввел ряддругие изменения.Если вы можете, обновление до rxjs 6 сейчас (хотя вы уже проходите процесс обновления в любом случае) облегчит вашу жизнь в будущем.