Я использую мемоизированный селектор через библиотеку повторного выбора реакции, и у меня возникают проблемы с доступом к значению состояния, чтобы узнать, установлено ли оно или нет.
Я хотел бы иметь возможность сделать что-то вроде этого, чтобы проверить:
const room = selectRoomById('roomId1');
if (room) {
console.log('this room exists in the global.rooms store');
}
Магазин выглядит так:
global: {
rooms: {
"roomId1": {
"name": "room 1"
},
"roomId2": {
"name": "room 2"
}
}
}
Вот как выглядят mapStateToProps
(эта часть работает) и мои селекторы:
const mapStateToProps = (state, props) => {
return createStructuredSelector({
room: selectRoomById(props.params.roomId)
});
}
Селекторы:
const selectGlobal = () => (state) => state.get('global');
const selectRoomById = (roomId) => createSelector(
selectGlobal(),
(globalState) => globalState.getIn(['rooms', roomId])
);
Когда я делаю
console.log(selectRoomById('roomId1'));
Я возвращаю функцию, но не могу получить искомое значение. Я думаю, это потому, что я использую createSelector
, но я не уверен. Кто-нибудь знает, как я могу получить доступ к значению селектора?