Как узнать разницу между состояниями ngrx после завершения другого действия?

Есть ли способ узнать, как я могу узнать разницу между предыдущим и текущим состоянием в ngrx.

Это было бы действительно полезно, заранее спасибо.


person Abhishek Gangwar    schedule 07.03.2018    source источник
comment
У вас могут быть previousValue и currentValue для каждой интересующей вас вещи в магазине. Когда вы обновляете редуктор, вы можете установить previousValue на currentValue и установить currentValue на новое значение, которое вы только что получили.   -  person Kevin    schedule 07.03.2018
comment
Итак, я понял вашу точку зрения, но я хочу проверить, какие переменные были изменены после завершения другого действия? как в инструменте redux dev   -  person Abhishek Gangwar    schedule 07.03.2018
comment
см. distinct until changed: stackoverflow.com/questions/59684733/   -  person theman0123    schedule 05.09.2020


Ответы (1)


Я лично использую select, например

let state = store.select(['reducer', 'state']);

и подписывайтесь на изменение состояния

state.takeLast(2).subscribe((result: any[]) => { for (let x of result) { if (result[x - 1] && (result[x] someCondition result[x - 1])){ doSomething } } })

тогда просто делайте свои простые условные вещи и альт!

Операторов rxjs много, и они прекрасны (например, last () или takeLast () например)

EDIT только что заметил, что вопрос и заголовок немного отличаются. Но вы можете в принципе, если вы отправляете в состояние, которое используется для разных действий, метод pub / sub, указанный выше, все равно будет работать.

person BSchnitzel    schedule 07.03.2018