Ilustración de imagen de lo que estoy tratando de obtener:

Estoy mapeando a través de esta matriz principal con una matriz de elementos secundarios que tiene un objeto secundario.
Estoy tratando de usar la lógica para decidir qué matriz debe editarse con la desestructuración y luego devolver el resultado a un estado. aquí está mi código a continuación. Gracias
Editar: acabo de arreglar el código agregando un signo "=" en lugar de un ":". Pero esta vez, funciona a mitad de camino al agregar un nuevo valor en lugar de modificar la matriz existente a la que intento apuntar con [eventId]
function toggleSelectedOption(event, id) { let eventId = event.target.id setSelectOption(prevState => { return prevState.map((each, index) => { if (index === id ) { return [...each, each[eventId] = {...each[eventId], isSelected: !each[eventId].isSelected}] }else { return each; } }) }) }