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

128
Views
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
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!