NgRedux + Angular + select срабатывает при подписке
Я уже несколько недель использую в своем угловом приложении избыточность, но кое-что заметил:
Когда я выбираю часть своего магазина для мониторинга изменений, скажем так:
В ngOnInit() app.component.ts
this.ngRedux.select(s => s.counter).subscribe((counter: number) => {
console.log(counter)
});
Console.log(counter) выполняется каждый раз, когда изменяется значение моего счетчика, это нормально, вот как это должно работать.
НО, обратный вызов также выполняется, когда я впервые подписываюсь. Так вот так:
- Введите onNgInit()
- Выполнение select()
- Выполнение подписки ()
- Выполнение моего обратного вызова
- ------- Позже при смене счетчика: -------
- Выполнение моего обратного вызова
Моя проблема в том, что я не хочу, чтобы мой обратный вызов выполнялся на шаге 4, потому что хранилище не изменилось!
Есть ли проблема в моем понимании? Это должно работать так? Если да: могу ли я что-то сделать, чтобы это изменить?
Спасибо
1 ответ
К сожалению, это стандартное поведение .subscribe()
, Единственное, что вы можете сделать, это сравнить текущую стоимость counter
с новым и только реагируйте на это, если изменения произошли.