Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
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 la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda