2016-07-29 12 views
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; 
} 
+5

你需要用一個標準的JavaScript對象替換你的Map,並使用Object.assign來合併它。我建議閱讀[官方Redux教程中的Reducers章節](http://redux.js.org/docs/basics/Reducers.html) - 它會逐步完成這一步。 –

回答

相關問題