I am struck in nested array and need help: my data is:
Data: [{
name: "Steel Support, Aviation Lights, Std", // match parent array name
code: "450W0619P001",
reserved: [{
serial: "one",
selected: false // toggle this
},
{
serial: "two",
selected: true, // toggle this
},
],
},
{
name: "Lock Nut, Prevailing Torque, M12x1.75m", // match parent array name
code: "450W0619P001",
reserved: [{
serial: "one",
selected: true // toggle this
},
{
serial: "two",
selected: true // toggle this
},
{
serial: "three",
selected: false // toggle this
},
],
},
]
const [erpParts, setErpParts] = useState(Data);
Here is my function to toggle nested array object state. I need to match parent array name and then toggle child array object value.
const selectPart = (parentArr, part) => {
setErpParts(
erpParts.map((x) => {
if (x.name !== parentArr.name) return x;
return { ...x,
reserved: [...x.reserved, part.selected != part.selected]
};
})
);
};
My function is not showing desired result. please look into this and help.