могу ли я обратиться к нему прямо как к value из эффекта? или предполагается что сам effect руками не может лезть в store?
Не пробовал, но судя по https://github.com/ngrx/effects/blob/master/docs/api.md точно можно как-то получить store ;) В обычном redux прям прокидвается store, у которого ты вызываешь store.getState()
Вот так можешь делать: @Effect() update$: Observable<Action> = this.actions$ .ofType(SettingsProfileActions.UPDATE_PROFILE) .map((action: CompleteUpdateProfileAction) => action.payload) .withLatestFrom(this.store.select(getCurrentProfile), (data, profile) => { return <Profile>{ ...data, id: profile.id } }) .switchMap(profile => { return this.profilesService.updateBasic(profile) ...... т.е. с помощью withLatestFrom цепляешь из стора любое значение, и примешиваешь к своим данным
верните нужное значение из конкретного редьюсера, после в корневом редьюсере создайте селектор в котором вы будете обращаться к кокретной части стора, дальше по аналогии соберите нужные вам значения создайте селектор в который последним аргументом передадите функцию принимающую в качестве параметров значения возвращаемые предыдущими селекторами, ну и вуаля, в теле функции работайте со значениями так, как вам угодно.
Обсуждают сегодня