@even__odd

Какие есть способы получения данных из store NGRX?

Знаю, что можно получить данные создав подписчика для потока rxjs. Пробовал так:
export class PlayersComponent implements OnInit {
  players$: Observable<IPlayer[]>;
  players: IPlayer[];

 constructor(private store: Store<IAppState>) {
    this.players$ = store.pipe(select(selectPlayers));
    this.players$.subscribe(getSubscriber(this.players, "Players"));
  }
  .....
  .....
  kek() {
    this.store.dispatch(new GetPlayers());
    console.log('kek: Players -', this.players);
  }
}

// создает подписчика для потока для сохранения значений в локальную переменную
// (скорее всего это неправильно), мне хотелось таким образом через *ngFor создать всех игроков 
// не знаю как обработать поток players$ правильно в шаблоне
// планировал оттестировать и использовать в других компонентах
function getSubscriber(localStore: IPlayer[], streamName: string) {
  return {
    next: value => {
      console.log('In sub ' ,value);
      if (value) localStore = value; 
    },
    error: err => console.error(err),
    complete: () => console.debug(`stream ${streamName} - completed`)
  }
}


Есть какие-нибудь хорошие статьи про жизненный цикл компонента ? Про то как он создается, как вызывается конструктор и какие параметры туда передаются.
Совсем недавно стал интересоваться Angular и NGRX.
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
@even__odd Автор вопроса
Моя задача стояла в том, что бы использовать данные из хранилища не создавая кучу "умных" и "глупых" компонентов (в умном создавался поток, а глупому, через '@Input' и pipe 'async' передавались значения). Проблема решилась с помощью использования директивы "ngTemplateOutlet" (клик)

Но так или иначе, вопрос остался открытым.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы