Object is not extensible error when creating new attribute for array of objects
You probably need to copy the objects:
export const initSelect = (data) => {
return data.map((item) => ({
...item,
selected: false
}));
}
You can not extend item
with selected
property, and your array is just a shallow copy.
If you want to be able to extend, you will have to do a deep copy of your array. It may be enough with:
let newData = data.map((item) =>
Object.assign({}, item, {selected:false})
)
const newObj = Object.assign({selected: false}, data);
data = JSON.parse(JSON.stringify(data));