Поскольку ваш путь - строка (одна строка, разделенная точками), не переносите в массив.
Примечание: используйте _.cloneDeep()
вместо мелкого клона (спреда), поскольку вы мутируете более глубокие уровни объекта:
const state = {"year2020":{"month3":{"num":0,"name":"January","length":31,"starts":3,"days":{"day1":{"mood":1},"day2":{"mood":2},"day3":{"mood":3},"day11":{"mood":4}}}}};
const newState = _.cloneDeep(state);
const action = { payload: { month: 3, day: 1 }};
_.unset(newState, `year2020.month${action.payload.month}.days.day${action.payload.day}`);
console.log('after',newState);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
Lodash / fp прекрасно работает с redux, поскольку он не изменяет исходный объект (в этом примере путь является массивом):
const state = {"year2020":{"month3":{"num":0,"name":"January","length":31,"starts":3,"days":{"day1":{"mood":1},"day2":{"mood":2},"day3":{"mood":3},"day11":{"mood":4}}}}};
const action = { payload: { month: 3, day: 1 }};
const newState = _.unset([
'year2020',
`month${action.payload.month}`,
'days',
`day${action.payload.day}`
], state);
console.log('after',newState);
<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>