Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

170
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!