Tanto Object.assign como Object spread solo hacen una fusión superficial. Un ejemplo del problema: // No object nesting const x = { a: 1 } const y = { b: 1 } const z = { ...x, ...y } // { a: 1, b: 1 } El resultado es lo que esperarías. Sin embargo, si intento esto: // Object nesting const x = {...