Можно ли создать на ngrx немомоизированный селектор?
У меня есть очень маленький селектор, чтобы проверить, больше ли значение в магазине, чем Date.now ().
export const selectAuthState = createFeatureSelector<AuthState>('auth');
export const hasTimeout = createSelector(
selectAuthState,
state => state.timeout < Date.now()
);
Как и ожидалось, этот селектор бесполезен, поскольку он не будет пересчитан, если я не изменю значение timeout
. Есть ли способ сделать селектор не запоминающимся, чтобы он пересчитывался каждый раз при обращении к его значению?
Мое текущее решение - создать фабрику селекторов и использовать ее каждый раз, но я не думаю, что это лучшее решение:
export const hasTimeoutFactory = () => createSelector(
selectAuthStatusState,
state => state.timeout < Date.now()
);
Другое решение - сделать что-то вроде
export const didTimeout = pipe(
select(getTimeout), // using memoized value
map(val => val < Date.now())
);
А потом импортируем эту трубу.