RxJs сорваться против NgRx выберите - PullRequest
0 голосов
/ 20 июня 2019

Я разрабатываю приложение Angular с хранилищем NgRx, и у меня есть служба, которая является посредником между представлением и хранилищем. Когда я пишу функцию для извлечения части магазина, я склонен использовать оператор NgRx select:

getSomeInfoFromStore(): Observable<SomeInfo> {
  return this.store.pipe(select('SomeInfo'));
  // --------------------^^^^^^
}

Но я также видел похожие сервисные функции, написанные с помощью оператора 'pluck' RxJs:

getSomeInfoFromStore(): Observable<SomeInfo> {
  return this.store.pipe(pluck('SomeInfo'));
  // --------------------^^^^^
}

В чем разница между оператором pluck RxJs и оператором select NgRx ? Они взаимозаменяемы? Если нет, когда я должен использовать каждый?

1 Ответ

0 голосов
/ 20 июня 2019

В вашем примере он делает то же самое AFAIK.

Разница в том, что NgRx select может использовать селекторы, где настоящая сила.Создавая селекторы с помощью метода createSelector, вы получаете повышение производительности, потому что оно будет вызываться только при изменении состояния.

https://ngrx.io/guide/store/selectors

...