Я создаю редуктор в Redux
со следующей функцией:
export const createSingleObjectReducer = (updateActionType, initialState = {}, debug = false) => {
const reducer = (state = initialState, action) => {
if (!action) {
return state
}
switch (action.type) {
case updateActionType: {
if (action.updates === undefined) {
console.error(`Invalid ${updateActionType} action: action.updates is undefined: `, action)
return state
}
const newState = { ...state, ...action.updates }
if (debug) {
console.log('singleObjectReducer: applying action: ', action, 'State changing from ', state, ' to ', newState)
}
return newState
}
default:
return state
}
}
return reducer
}
Примерно так:
export const RECEIVE_VARIANT_TAGTYPES_DATA = 'RECEIVE_VARIANT_TAGTYPES_DATA'
const rootReducer = combineReducers(Object.assign({
...
...
variantTagTypesData: createSingleObjectReducer(RECEIVE_VARIANT_TAGTYPES_DATA, {
variantTagTypes: {},
variantFunctionalTagTypes: {},
}),
...
}))
И затем отправляю действие в другой файл, подобный этому:
dispatch({ type: RECEIVE_VARIANT_TAGTYPES_DATA,
updates: {
variantTagTypes: responseJson.variantTagTypes,
variantFunctionalTagTypes: responseJson.variantFunctionalTagTypes,
},
})
Действие не отправлено по неизвестной причине. Каковы возможные причины этого?