में विफल रहता है मेरे पास रेडक्स और रेडक्स-थंक का उपयोग करके एक रिएक्ट ऐप बनाया गया है। सब कुछ ठीक काम करता है, जब तक कि मैं Redux docs प्रति reducers को गठबंधन करने की कोशिश नहीं करता।रिएक्ट-रेडक्स: रेड्यूसर का संयोजन
एक प्रारंभिक, कार्यात्मक कम करने
export default function bigReducer(state = { events: [], flash: [] }, action) {
switch (action.type) {
case EVENTS_UPDATED:
return _.extend({}, state, { events: action.pathway_events })
case FLASH_MESSAGE_UPDATED:
return _.extend({}, state, { flash: action.flash })
default:
return state
}
}
जब मैं एक समग्र कम करने
function flashReducer(state = { flash: [] }, action) {
switch (action.type) {
case FLASH_MESSAGE_UPDATED:
return _.extend({}, state, { flash: action.flash })
default:
return state
}
}
function eventReducer(state = { events: [] }, action) {
switch (action.type) {
case EVENTS_UPDATED:
return _.extend({}, state, { events: action.pathway_events })
default:
return state
}
}
// either with simple reducer composition
export default function bigReducer(state = {}, action) {
return {
flashReducer: flashReducer(state.flash, action),
eventReducer: eventReducer(state.events, action)
}
}
// or with the combineReducers function
export default const reducer = combineReducers({
flashReducer,
eventReducer
})
प्रारंभिक अवस्था बनाने का प्रयास करें और reducers
मिश्रित करने लगते हैं को देखते हुए// logging the state
var EventListContainer = connect((state) => {
console.log(state)
return { events: state.events })(React.createClass({ ...
// returns the incorrect state
# => Object {flashReducer: Array[0], eventReducer: Array[17]}
मैं रिएक्ट और रेडक्स का उपयोग कर रेड्यूसर को कैसे जोड़ सकता हूं?
मेरा अपडेट देखें। आपको sate कुंजी के अनुसार अपने reducer फ़ंक्शंस को नाम देने की आवश्यकता नहीं है, लेकिन यदि आप 'combineReducers' का उपयोग करते हैं तो आपको * कुंजी * के साथ reducer कुंजी को संरेखित करने की आवश्यकता होती है। – nrabinowitz
किसी भी भ्रम के लिए खेद है, पहले न्यूनतम जवाब पोस्ट करने और एक अपडेट के रूप में विस्तारित उत्तर पोस्ट करने की एक आदत है। – nrabinowitz
यूरेका, उसने ऐसा किया। यकीन नहीं है कि मैं इसे कैसे चूक गया, यह महत्वपूर्ण है। धन्यवाद। – steel