【发布时间】:2018-01-16 20:06:00
【问题描述】:
我正在尝试将 redux 与不可变 js 一起使用。 我做了两个减速器(布局,任务),它工作正常。
layout.js
const initialState = Map({
width: Dimensions.get('window').width,
height: Dimensions.get('window').height,
});
export default function layout(state = initialState,action){
// Some Tasks
}
task.js
const initialState = Map({
list: Map({
tasks: List([]),
status: 'INIT',
})
});
export default function task(state = initialState,action){
// Some Tasks
}
我的问题是当我尝试通过 mapStateToProps 获取状态时
const mapStateToProps = (state) => {
return {
task: state.get('task')
}
}
它给了我一个错误'state.get 不是一个函数'。 当我把它改成
task: state.task
效果很好。
我的想法是因为 combineReducers 不会产生不可变状态。
有什么解决办法吗?还是使用task: state.task 是正确的方式?
【问题讨论】:
-
确保您使用的是来自
redux-immutable的combineReducers。此外,您可能正在对可变对象进行一些操作来刷新 redux 存储。
标签: reactjs redux immutable.js