Мне нужно обновить наблюдаемую информацию, когда изменяется массив, хранящийся в хранилище NGRX.В настоящее время я использую селектор для выбора списка массивов, но я не уверен, что это очень эффективный код, поскольку я хочу, чтобы он вызывал следующую функцию только каждый раз, когда селектор возвращает другой объект массива.
Это мой код:
this.store.select<any[]>(getConnections(Id))
.takeUntil(this.onDestroy$).subscribe(connections => {
this.selectDataStream.next(connections);
});
Селектор:
export const getConnections = (id) => createSelector(selectFinderResults, entities => {
return entities[id].connections;
});
Редуктор:
case LOAD_INTEGRATOR_CONNECTIONS_SUCCESS: {
let payload = (action as LoadConnectionsSuccessAction).payload;
let integratorId = (action as LoadConnectionsSuccessAction).integratorId;
if (payload) {
const integratorModel = state.connectorresults[integratorId];
const updatedstate = {
...state,
connectorresults: {
...state.connectorresults,
[integratorId]: {
...integratorModel,
connections: payload
}
},
searchconnectorresults: {
...state.searchconnectorresults,
[integratorId]: {
...integratorModel,
connections: payload
}
}
};
return {
...updatedstate
};
}
}
Это лучший способ вызвать следующую функцию в темекогда список соединений меняется?Я хочу, чтобы он срабатывал несколько раз, но только когда список меняется, но, похоже, он этого не делает.