Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
¿Cómo empujar cuidadosamente un objeto en otro objeto complejo en estado de reacción?

Estoy tratando de declarar una matriz compleja usando el gancho de reacción como

 const [strategy, setStrategy] = useState([leg]);

dónde

 const leg = { entry: { conditions: [], actions: [""], }, exit: { conditions: [], actions: [""], }, };

y

 const condition = (param) => { return { param, val: "" }; };

Ahora, el siguiente código para agregar una pierna en la matriz funciona bien

 const addLeg = () => { const temp_strategy = [...strategy]; temp_strategy.push(leg); setStrategy(temp_strategy); };

Ahora, quiero agregar una condición en una de las piernas cuyo índice se da (en un clic de botón en el front-end), el siguiente es el código que estoy intentando

 const addCondition = (index, trigger, condition_param) => { // index is for leg // trigger is either 'entry' or 'exit' const temp_strategy = [...strategy]; temp_strategy[index][trigger]['conditions'].push(condition(condition_param)); setStrategy(temp_strategy); };

Ahora si en algun momento la estrategia es tener 3 piernas y si llamo

 addCondition(1, 'entry', 'and')

luego agrega la condición anterior a las 3 patas pero dentro del objeto 'entrada'.

Mi duda es por qué no funciona para el índice pero sí para el disparador donde índice y disparador son como

 temp_strategy[index][trigger]['conditions'].push(condition(condition_param));
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay una hermosa biblioteca especialmente construida para tal escenario immer.js . Vaya a ver esto en https://www.npmjs.com/package/immer

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda