Имеется reducer (данный вариант кода нерабочий):
const initialState = {
param1: '1',
param2: '2',
param3: {
paramParam1: '4',
paramParam2: '5' // в param3 всегда изменяется только paramParam2
}
}
const reducer = (state = initialState, action) => {
switch (action.type) {
case 'EXAMPLE':
if (action.name === 'param1' || 'param2') {
state[action.name] = action.value
} else {
state[action.name].paramParam2 = action.value
}
return state
}
default:
return state
}
export const actionCreator = (value, name) => ({ type: 'EXAMPLE', value: value, name: name })
// в name приходит свойство, в value - значение
Как правильно в данном случае изменять state?
Пробовал с Object.keys().length, но он работает не так как мне нужно.
Хочу свести case к виду:
return {
...state,
action.name: action.value
}