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

126
Visualizações
La matriz compleja necesita actualizar y agregar nuevos objetos, pero solo agrega

Por lo tanto, intentaré brindar la mayor cantidad de información posible, pero si necesita más, puedo brindársela.

Estoy creando un sitio web que tiene un menú desplegable que dentro tiene algunas opciones de una matriz, digamos que hay 4 para este ejemplo A, B, C y D. Ahora este menú desplegable funciona muy bien al devolver la selección que hice a esta función. abajo.

 //Array example letterArray = [ {letter: "A"}, {letter: "B"}, {letter: "C"}, {letter: "D"} ] function changeLetter(value){ console.log(value.letter); // This returns whichever one I selected nicely so if i click A in the dropdown i get A back. }

Imagina que estoy creando una palabra de 4 letras, digamos "ABCD" para mantenerlo simple, lo que necesito hacer es representar 4 de mis menús desplegables. En la carga de la página, solo renderizo 1 porque no sé la longitud de la palabra que el usuario quiere hacer. Tengo algo como esto para mapearlos.

 {numberOfLetters.map((_, index) => { return( <div key={index} <LetterSelection onChange={changeLetter} /> //THIS IS MY DROPDOWN COMPONENT </div> ) })

Luego tengo un botón que aumenta el número de letras para aumentar la matriz, lo que hace que el mapa sea más largo. Todo esto funciona bien todavía...

Mi intento de hacer que esto funcione es así, cambio mi función para tener un estado como este.

 const [array, setArray] = useState([]); function changeLetter(value){ setArray(oldArray => [...oldArray, {option: value.letter}]) console.log(array); }

Esto empuja mi selección a la matriz muy bien y casi me da lo que quiero.

EL PROBLEMA

Si el usuario decide cambiar la selección de decir "A,B,C,D" a "A,C,B,D", se agrega otra letra a la matriz que se convierte efectivamente en "A,B,C,D,C". . Pensé en usar el empalme aquí para obtener solo los 4 que quiero, pero luego se pierde una de las opciones seleccionadas por el usuario (¡No es la correcta!).

Entonces, ¿cómo lo obtengo para que actualice la selección correcta en lugar de agregar un nuevo objeto a la matriz?

Puede publicar más código si es necesario.

about 4 years ago · Juan Pablo Isaza
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