【发布时间】:2018-11-03 20:05:42
【问题描述】:
我正在尝试学习/了解不可变的概念,以便可以使用 React/Redux 进行设置。这是我的商店设置:
store.js
const store = createStore(
rootReducer,
applyMiddleware(thunk)
)
组合减速器:
import { combineReducers } from 'redux';
import { UIreducer } from './UI-reducer';
export default combineReducers({
UIreducer
});
reducer 示例:
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 生成的对象,如果我不使用 immutable,它看起来不像正常状态对象。经过一番研究后,我尝试在状态下使用 .get,如下所示:
const mapStateToProps = state => ({
UI: state.get('UIreducer')
})
然而,这返回了错误消息:
state.get 不是函数
谁能指出我哪里出错了?
【问题讨论】:
标签: javascript reactjs redux immutability