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

195
Views
¿Cómo agrego un par clave-valor a un objeto en estado de componentes funcionales?

He visto algunas cosas sobre nombres de propiedades computadas para componentes de clase, ¿existe una solución similar para componentes funcionales?

tengo un estado inicial de {}.

 const [choice, setChoice] = useState({})

cuando se hace clic en un botón, me gustaría agregarle un nuevo k:v dinámicamente.

 onClick={()=>{ setChoice( props.choice[Key]=[Val] ); }

esto no parece funcionar...

y espero agregar a la variable de elección, así: {"key":"val","key1":"val1",etc..)

También he probado esto:

 class Choice { constructor(key, value){ this.key = key, this.value = value } }

pero no estoy seguro de cómo ajustar onClick para ello.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Para agregar al estado actual un nuevo par de valores clave:

 onClick={() => { setChoice( currentState => { return {...currentState, Key:Val} } }}

El controlador en el estado establecido tiene esta sobrecarga que le permite usar el estado anterior y agregarlo.

about 4 years ago · Juan Pablo Isaza Report

0

el problema proviene de su acceso para choice en la función onClick. La buena sintaxis debería ser (porque se puede acceder directamente a la elección como una variable en su componente)

 onClick={()=>{ setChoice( { ...choice, key:val } ); }
  1. choice es una variable de estado, por lo que se puede acceder directamente por su nombre. No es necesario vincular los accesorios de sus componentes con props.choice

  2. setChoice debe tomar como argumento la variable original, más el nuevo par clave/valor. Por lo tanto, la desestructuración de ... elección y la variable miembro agregada clave: valor.

Editar: si desea que sus actualizaciones sean más sólidas con la forma React, debe usar la sintaxis de devolución de llamada. Finalmente tendrías

 setChoice(choice => { return {...choice, key:val}})

Esto evita algunos problemas debido a la naturaleza asíncrona de las actualizaciones de estado en React.

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!