1
我學會了如何與Teropa's incredible tutorial Redux。然而,他的實現使用Immutable,而且很棒,我想從我當前應用程序的構建中移除。我試圖找出如何保持以下不依賴不可變。我不知何故需要修改reducer.js
取出不可變,但導出的函數保持失敗,沒有state = Map()
。如何在React中設置Redux而不可變?
Index.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;
}
你需要用一個標準的JavaScript對象替換你的Map,並使用Object.assign來合併它。我建議閱讀[官方Redux教程中的Reducers章節](http://redux.js.org/docs/basics/Reducers.html) - 它會逐步完成這一步。 –