В моем собственном приложении реакции у меня есть элемент в таком состоянии
var data = [
{
"ChildFirstName":"Cgi",
"ChildLastName":"I-Cgi",
"ChildKey":"aff5749a-84cf-43a0-a477-8cc47e0c49c5",
"LstParentInfo":[
{
"ParentKey":"14338e45-8759-45e7-1358-59528e2a7cde",
"ParentFirstName":"Tahir Mahmood",
"ParentLastName":"Khawaja",
"ParentEmail":"",
"ParentMobile":"",
"ParentAddress":"Tøyengata 1, 0190 Oslo",
"IsSelected":false
},
{
"ParentKey":"13736d0d-8764-05aa-de4a-d1aaeb087cc8",
"ParentFirstName":"Suayip",
"ParentLastName":"Eryigit",
"ParentEmail":"",
"ParentMobile":"",
"ParentAddress":"Stovner Senter 18, 0985 Oslo",
"IsSelected":false
}
]
}
];
Пользователь нажимает на родительский элемент, и я хочу установить для него значение IsSelected:! IsSelected. Я пробую это в своем редукторе, например
case ActionTypes.UPDATE_SELECTED_CLASS_LIST:
var parent = action.parent;
var classList = [...state.classList];
const childToBeUpdated = classList.find((i) =>
i.LstParentInfo.filter((k) => k.ParentKey == parent.ParentKey)
);
const parentToBeUpdated = childToBeUpdated.LstParentInfo.find(
(k) => k.ParentKey == parent.ParentKey
);
parentToBeUpdated.IsSelected = !parentToBeUpdated.IsSelected;
var data = updateObject(classList, { [0]: childToBeUpdated });
classList = Object.values(childToBeUpdated);
console.log("[Update_Class_final]", data);
return {
...state,
classList: classList,
};
export const updateObject = (oldObject, updatedProperties) => {
return {
...oldObject,
...updatedProperties,
};
};
, но это не работает, может ли кто-нибудь помочь мне обновить состояние?