#reactjs #react-redux
Вопрос:
Как я могу обновить глубоко вложенный массив объектов в react и использовать управление состоянием redux. Не знаю, как с этим справиться
[
"0":{
"id": 339,
"children": [
{
"id": 381,
"children": [
{
"id": 383,
"children": [],
"name": "Capability_C",
"level": 3,
}
],
"name": "Capability_B",
"level": 2,
}
],
"name": "Capability_A",
"level": 1,
},
"1":{
"id": 448,
"children": [],
"name": "Capability_Y",
"level": 1,
}
]
При создании нового объекта, является ли он родительским или дочерним объектом. Прямо сейчас только родительские объекты обновляются в пределах состояния, но не вложенные объекты. Полезная нагрузка содержит данные одной возможности, которые могут быть вложенными(дочерними) или просто родительским объектом. В то время как «возможности» имеют список, который я привел здесь выше
const capbilityReducer = (capabilities = initialState, action) => {
const { type, payload } = action;
switch (type) {
case CREATE_CAPABILITY:
return [...capabilities, payload];
}
};
export default capbilityReducer;
Комментарии:
1. Я бы предложил переключиться на инструментарий redux, он позволит вам просто перезаписать определенные свойства состояния вместо глубокого слияния. Кроме того, поскольку вы храните объекты домена с ключом id, возможно, вам захочется взглянуть на адаптеры сущностей