Мой редуктор выглядит такИзменение глубоко вложенного состояния в Redux
const INITIAL_STATE = { map:[], routes:[], road:null};
export default function (state = INITIAL_STATE, action){
switch(action.type){
case TOGGLE_ROUTE_VISIBILITY : return { ...state, routes: action.payload };
break;
case SAVE_ROAD_ROUTE : return {...state, routes: action.payload };
break;
default:
return state;
}
}
и мое действие выглядит так
export function toggleVisibility(id, routes){
const i = _.findIndex(routes, o => { return o.id = id });
routes[i].visible = !routes[i].visible;
return {
type: TOGGLE_ROUTE_VISIBILITY,
payload: routes
}
}
Так что мое состояние выглядит как
state:{
base:
routes : [
{id:1, visible:true},
{id:2, visible:true},
]
}}
Основная проблема устанавливает данные о состоянии маршрутов. У меня такое чувство, что мой подход неверен, и есть правильный способ сохранения маршрутов в состоянии и по-прежнему иметь возможность изменять и сохранять его.