2016-07-29 19 views
1

Ich lernte Redux mit Teropa's incredible tutorial. Seine Implementierung verwendet jedoch Unveränderlich und ist, obwohl es großartig ist, etwas, das ich aus dem Build meiner aktuellen App entfernen möchte. Ich versuche herauszufinden, wie man das Folgende erhält, ohne auf Immutable zu setzen. Ich muss irgendwie reducer.js ändern, um Immutable herauszunehmen, aber die exportierte Funktion scheitert ohne state = Map().Wie Redux in React ohne Immutable einrichten?

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

Sie müssen Ihre 'Map' durch ein Standard-JavaScript-Objekt ersetzen und' Object.assign' verwenden, um darin Dinge zusammenzuführen. Ich würde empfehlen, das [Reducers-Kapitel im offiziellen Redux-Tutorial] (http://redux.js.org/docs/basics/Reducers.html) zu lesen - es führt Sie Schritt für Schritt durch. –

Antwort