У меня проблема с вложенными редукторами.
Структура похожа на это:
const INITIAL_STATE = {
items: [],
planningState:null,
loading: false,
idx_selected : '2'
};
В state.items структура выглядит примерно так:
const mockItems = [
{
date: "2018-08-24 15:00:00",
type: "dropoff",
status: null,
id: "553",
//many others things
},
{
date: "2018-08-24 19:00:00",
type: "pickup",
status: "ordered",
id: "553",
//other things
},
{
date: "2018-07-18 08:00:00",
type: "delivery",
status: null,
id: "554",
//other things
},
];
Мне нужно изменить статус одного элемента, без изменения других свойств. Я знаю, что должен клонировать каждый слой, но я сделал ошибку.
case SCAN_CLOSE_DONE:
//state.items[state.idx_selected].status=done
return{
...state,
items:{
...state.items,
[state.idx_selected]:{
...state.items[state.idx_selected],
status: "done"
}
}
};