Я использую NgRx Store, я подписываюсь на изменения, чтобы сохранить функцию. Магазин не обнаруживает изменений, когда предыдущие и текущие значения совпадают.
this.rootStore.pipe(select(someState.getStatus)).subscribe(someValue => { console.log(someValue); }); onLoad: someValue = 1; OnAction 1 => onStateChanged: someValue = 2; OnAction 2 => onStateChanged: someValue = 2; (this action is reported but do not record it with above subscription).
Что я делаю не так?
Это предназначено, селектор запоминается.Он будет выполняться только при изменении его входных параметров по соображениям производительности.
Брэндон недавно выступил на ng-conf с докладом о селекторах, которые я настоятельно рекомендую Построение подчиненных состояний с селекторами NgRx |Брэндон Робертс
Когда используется select, то, что он делает за сценой, это просто map + distinctUntilChanged.
select
map
distinctUntilChanged
Таким образом, если ваше значение - число, и вы обновляете свой магазин тем же номером, оно не сработает снова.