我在我的 Angular 应用程序中使用 redux 已经好几个星期了,但我刚刚注意到了一些关于它的事情:
当我选择商店的一部分来监控变化时,可以这样说:
在app.component.ts的ngOnInit()中
this.ngRedux.select(s => s.counter).subscribe((counter: number) => {
console.log(counter)
});
每次我的计数器值发生变化时都会执行 console.log(counter) ,没关系,这就是它应该如何工作的。
但是,回调也会在我第一次订阅时执行。 所以就这样了:
我的问题是我不希望我的回调在第4步执行,因为商店没有改变!
我的理解有问题吗?是应该这样工作吗?如果是:我可以做些什么来改变它吗?
谢谢
不幸的是,这是
.subscribe()
的标准行为。您唯一能做的就是将 counter
的当前值与新值进行比较,并且仅在发生变化时才做出反应。
使用一些 rxjs 过滤器来跳过不需要的值。