2016-03-27 7 views
1

Einige Teile meines ursprünglichen Zustands werden sich während des gesamten Lebenszyklus meiner App niemals ändern. Jetzt frage ich mich, ob diese Art von Daten auch in den Laden gehören?Gehören Daten, die sich niemals ändern, auch in den Speicher?

Wenn ja:

Gibt es eine Möglichkeit, diese Daten in den Ausgangszustand zu setzen, wenn createStore() anrufen, ohne eine (leere) entsprechende Reduktions Funktion? Denn da die Daten ändert sich nie gibt es keine Notwendigkeit für einen Druckminderer, aber combineReducers() drängt mich, einen zu haben, sonst wirft es diesen Fehler:

Unexpected key "keyName" found in initialState argument passed 
to createStore. Expected to find one of the known reducer keys 
instead: "otherKey1", "otherKey2". Unexpected keys will be ignored. 

Beispiel von dem, was ich suche:

var dataThatWillChange = function(state, action) { /* reduce */ }; 

var myApp = Redux.combineReducers({ 
    dataThatWillChange: dataThatWillChange, 
    dataThatWillNeverChange: Redux.dummyReducer // <-- something like this? 
}); 

var store = Redux.createStore(myApp, { 
    dataThatWillChange: [0, 1, 2], 
    dataThatWillNeverChange: { createdBy: "me" } // <-- no need for a reducer 
}); 

Antwort

0

Sie könnten nur ein Reduktionsmittel, die immer den Ausgangszustand zurückkehrt, es ist nichts falsch mit, dass:

var initialState = { createdBy: "me" } 
var dataThatWillNeverChange = function(state=initialState, action) { 
    return state; 
}; 

var store = Redux.createStore(myApp, { 
    dataThatWillChange: DataThatWillChange, 
    dataThatWillNeverChange: dataThatWillNeverChange 
}); 

oder kompakter:

var initialState = { createdBy: "me" } 

var store = Redux.createStore(myApp, { 
    dataThatWillChange: DataThatWillChange, 
    dataThatWillNeverChange:() => initialState 
}); 

Wenn Ihre konstanten Daten wirklich nicht auf den „Anwendungszustand“ gehören soll, können Sie es auch von einem Modul Export und Import es, wann immer Sie sie brauchen, wie

export default { 
    createdBy: "me", 
    ... 
} 
Verwandte Themen