NgRedux + Angular + select срабатывает при подписке - PullRequest
0 голосов
/ 28 июня 2018

Я уже несколько недель использую в своем угловом приложении избыточность, но кое-что заметил:

Когда я выбираю часть своего магазина для отслеживания изменений, скажем так:

В ngOnInit () app.component.ts

this.ngRedux.select(s => s.counter).subscribe((counter: number) => {
    console.log(counter)
});

console.log (counter) выполняется каждый раз, когда изменяется значение моего счетчика, это нормально, так оно и должно работать.

НО, обратный вызов также выполняется при первой подписке. Вот так:

  1. Введите onNgInit ()
  2. Выполнение выбора ()
  3. Выполнение подписки ()
  4. Выполнение моего обратного вызова
  5. ------- Позже при смене счетчика: -------
  6. Выполнение моего обратного вызова

Моя проблема в том, что я не хочу, чтобы мой обратный вызов выполнялся на шаге 4, потому что хранилище не изменилось!

Есть ли проблема в моем понимании? Это должно работать так? Если да: могу ли я что-то сделать, чтобы это изменить?

Спасибо

1 Ответ

0 голосов
/ 28 июня 2018

К сожалению, это стандартное поведение .subscribe(). Единственное, что вы можете сделать, это сравнить текущее значение counter с новым и реагировать на него, только если произошли изменения.

...