Tengo un método onChange como este:
handleChange(e, fieldName, fieldType, index, parentEle) {}dentro de esto, estoy tratando de almacenar el valor en un objeto global llamado nestedObj mis parámetros son dinámicos
estructura de objeto esperada:
[parentEle]: {[index]: {[fieldName]: e.target.value}}así que después de cada onChange mi objeto será algo como esto:
fruit: {0: {fruitName: 'apple'}} fruit: {0: {fruitId: 123}} fruit: {1: {fruitName: 'orange'}} fruit: {1: {fruitId: 456}} car: {0: {carName: 'bmw'}} car: {0: {carId: 789}} car: {1: {carName: 'audi'}} car: {1: {carId: 101}}como los campos son dinámicos, esto es lo que estoy haciendo:
const eachValue = { [index]: { [fieldName]: e.target.value } }; if (nestedObj?.[parentEle]?.[index]) { nestedObj[parentEle][index] = Object.assign( {}, nestedObj[parentEle][index], eachValue[index] ); } else { nestedObj[parentEle] = eachValue; }entonces lo que estoy recibiendo es esto:
{ fruit: {1: {fruitName: 'orange', fruitId: 456}} car: {1: {carName: 'audi', fruitId: 101}} }así que estoy cometiendo el error de otra parte al asignar cada valor al objeto reemplazando directamente el elemento anterior
lo que espero es:
{ fruit: [{0: {fruitName: 'apple', fruitId: 123}, {1: {fruitName: 'orange', fruitId: 456}] car: [{0: {carName: 'bmw', fruitId: 789}, {1: {carName: 'audi', fruitId: 101}] }¿Puedes por favor guiarme cómo lograr esto?