Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

127
Visualizações
¿Estoy tratando de agregar elementos al objeto usando usestate en React?

Estoy tratando de agregar nuevos campos en el enlace useState

 // prevstate let [currentdata, setcurrentdata] = useState({ id:'', name:'' })

Intento agregar nuevos campos en el objeto así.

 setcurrentdata(currentdata => ({ ...currentdata, q: quantity, }))

pero no agregó nuevos campos

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El fragmento de código a continuación puede ser una posible solución para lograr el objetivo deseado.

NOTA: Personalmente, no me gusta la idea de usar useState junto con dichos objetos y prefiero usar múltiples useState más simples en cada variable.

Fragmento de código

 const {useState} = React; const MyFunction = () => { const [badStateObj, setBadStateObj] = useState({ id: '', name: '' }); const clickHandler = (propName) => setBadStateObj(prev => ({ ...prev, [propName]: prev[propName] || '' })); const updateHandler = (propName, propVal) => setBadStateObj(prev => ({ ...prev, [propName]: propVal })); return ( <div> {Object.entries(badStateObj).map(([k,v]) => ( <div> Key: {k} &emsp; Value: {v} &emsp; &emsp; <button onClick={() => updateHandler(k, prompt( `Enter new value for ${k}` ))} > Update {k} </button> </div> ))} <button onClick={() => clickHandler(prompt('Enter prop name'))} > Add new prop </button> </div> ); }; ReactDOM.render( <div> <h4>Demo showing the useState that I personally dislike</h4> <MyFunction /> </div>, document.getElementById("react") );
 <div id="react"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script>

Explicación

  • El badStateObj se inicializa solo con accesorios de id y name
  • Cuando el usuario hace clic en el botón Add new prop , se puede agregar un nuevo accesorio
  • Existen botones separados para actualizar el valor de cada accesorio individual
  • clickHandler agrega el nuevo accesorio ingresado por el usuario con el valor '' .
  • updateHandler acepta propName y propVal como parámetros y actualiza los accesorios apropiados dentro de badStateObj .
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda