【发布时间】:2016-07-29 08:39:28
【问题描述】:
我通过Teropa's incredible tutorial 学习了如何 Redux。然而,他的实现使用了 Immutable,虽然很棒,但我想从我当前的应用程序构建中删除它。我试图弄清楚如何在不依赖 Immutable 的情况下维护以下内容。我不知何故需要修改reducer.js 以取出Immutable,但是没有state = Map(),导出的函数总是失败。
索引.jsx
store.dispatch({
type: 'SET_STATE',
state: { ... }
});
action_creators.js
export function setState(state) {
return {
type: 'SET_STATE',
state
};
}
reducer.js
import { Map } from 'immutable';
function setState(state, newState) {
return state.merge(newState);
}
export default function(state = Map(), action) {
switch (action.type) {
case 'SET_STATE':
return setState(state, action.state);
}
return state;
}
【问题讨论】:
-
您需要将
Map替换为标准的JavaScript 对象,并使用Object.assign将内容合并到其中。我建议您阅读Reducers chapter in the official Redux tutorial - 它会一步一步地引导您完成。
标签: javascript reactjs redux immutable.js