gpt4 book ai didi

angular - 在ngrx中订阅store时如何访问之前的状态和当前状态并进行比较?

转载 作者:行者123 更新时间:2023-12-05 02:57:42 26 4
gpt4 key购买 nike

在我的组件中,我订阅了在给定状态发生变化时触发的 ngrx 存储。我想设置一个条件,如果当前状态和以前的状态不同,那么我会采取一些行动。

如何获取之前的状态?

    this.store
.select('testPortfolio')
.subscribe(testPortfolio => {
// if(testPortfolio.oldValue !== testPortfolio.currentValueValue) ??? ///something like this
console.log(testPortfolio);
});

最佳答案

您可以使用 distinctuntilchanged为了那个原因。在您的情况下,它将类似于:

this.store
.pipe(
select('testPortfolio'),
distinctUntilChanged((prev, curr) => prev.value === curr.value)
)
.subscribe(testPortfolio => {
console.log(testPortfolio); // called only when testPortfolio value has been changed
});

关于angular - 在ngrx中订阅store时如何访问之前的状态和当前状态并进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59684733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com