Я пытаюсь выучить / обдумать неизменность, чтобы я мог настроить его с помощью React / Redux.Вот мои настройки магазина:
store.js
const store = createStore(
rootReducer,
applyMiddleware(thunk)
)
Комбинированные редукторы:
import { combineReducers } from 'redux';
import { UIreducer } from './UI-reducer';
export default combineReducers({
UIreducer
});
пример редуктора:
import { fromJS } from 'immutable';
const initialState = fromJS({
test: false
});
export const UIreducer = (state = initialState, action) => {
switch (action.type) {
case 'TEST': {
return state.set('test', true)
}
default: return state
}
}
Я вполне уверен, что правильно настроил две вышеупомянутые части, единственное, в чем я не уверен, так это как сопоставить состояние с подпорками вмой компонент:
Вот как я обычно это делаю:
const mapStateToProps = state => ({
UI: state.UIreducer
})
При использовании immutable он возвращает объект, который генерирует immutable, который не выглядит как объект нормального состояния, если бы я неиспользовать неизменный.После небольшого исследования я попытался использовать .get с таким состоянием, как:
const mapStateToProps = state => ({
UI: state.get('UIreducer')
})
Это, однако, вернуло сообщение об ошибке:
state.get не является функцией
Может кто-нибудь указать, где я ошибся?