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

173
Visualizações
Cómo agregar un campo a una matriz de objetos usando useState en reaccionar

Estoy creando una aplicación en React Native y quiero una forma en la que pueda agregar regularmente un campo a uno o todos los datos del usuario antes de enviarlo a la base de datos. Es una matriz de objetos y conozco el índice de cada uno. objeto. Soy consciente de la desestructuración de objetos, pero no sé cómo hacerlo. En el siguiente ejemplo, ¿cómo agrego el campo "hobby" y un valor de "Fútbol" solo a smith? Gracias por adelantado.

 const [usersData, setUsersData] = useState([ { name: "Jane", sex: "female", age: "20", }, { name: "Doe", sex: "male", age: "29", }, { name: "Smith", sex: "male", age: "24", }, ]); const addHobby = (index, hobby) => { //Adding the field here// };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Aquí hay una manera de lograr esto:

 const addHobby = (index, hobby) => { let temp = [...usersData] // Create a copy with the spread operator temp[index].hobby = hobby // Set new field setUsersData(temp) // Save the copy to state } ... addHobby(2, "Football") // 2 being known index of "Smith"

Editar: según lo sugerido por @EmileBergeron, el operador de propagación crea solo una copia superficial, lo que significa que el estado original aún se modificará en caso de cambios en las propiedades del objeto. Un enfoque más fácil de reaccionar sería usar .map()

 const addHobby = (index, hobby) => { // Create a copy using .map() const temp = usersData.map((data, idx) => { let tempData = {...data} // Copy object if(idx === index) tempData.hobby = hobby // Set new field return tempData }) setUsersData(temp) // Save the copy to state }
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