Почему селекторы сущностей ngrx запускают действия? - PullRequest
0 голосов
/ 15 декабря 2018

Я изучаю NgRx, но я не понимаю, почему селекторы сущностей запускают действия.Я искал причину, но ничего не нашел.Возможно, мне не хватает некоторых основ NgRx / Entity.

Это мой демонстрационный код:

selectors.ts

export const selectHeroState: MemoizedSelector<object, HeroesState> = createFeatureSelector<HeroesState>('heros');
export const selectHeroes: (state: object) => Hero[] =  heroAdapter.getSelectors(selectHeroState).selectAll;

component.ts

ngOnInit() {
 //this.store$.dispatch(new GetAll()); I thought this line of code was nescessary to fetch all data from store... 
 this.heroes$ = this.store$.select(selectHeroes); //but i just need this one as it triggers the Get All action
}

Я надеюсь, что объяснил мой вопрос хорошо.Заранее спасибо.

1 Ответ

0 голосов
/ 15 декабря 2018

Селекторы не запускают действия.Должно быть что-то еще, что вызвало действие?

Например, в моем ngOnInit у меня есть это:

this.store.dispatch(new productActions.Load());

Это то, что загружает мои данные.Тогда у меня может быть это:

this.products$ = this.store.pipe(select(fromProduct.getProducts)) as Observable<Product[]>;

Какой селектор для получения этих данных для использования в пользовательском интерфейсе.

Просто чтобы подтвердить, я попытался закомментировать мой dispatch, как у вас естьвыше, но он перестал работать (он не возвратил никаких данных).

Так что я предполагаю, что где-то еще в приложении оно уже загружает ваши данные?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...