У меня есть магазин Ngrx, использующий сущности. Мне нужно получить предыдущие версии состояния, чтобы можно было отменить. Я использовал приведенный ниже код, но он не работает, когда я переключаюсь с одного компонента на другой, потому что для этого мне нужно подписаться на верхний компонент, что не является лучшим в моем случае. это способ получить версии состояния путем определения селектора или другим способом?
// The number of state transitions is given by the user (subscriber)
export const selectLastStateTransitions = (count: number, selector: any) => {
return pipe(
// Thanks to `createSelector` the operator will have memoization "for free"
select(selector),
// Combines the last `count` state values in array
scan((acc, curr) => {
const x = [curr, ...acc].filter((val, index) => index < count); // && val !== undefined);
return x;
}, [])
// Equivalent to what is emitted by the selector
);
};
Best, Hmendezm