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

147
Views
React JS: seleccione, por qué obtengo valores dobles impresos y almacenados en la base de datos

De acuerdo, tengo una pregunta: ¿por qué cuando alguien hace clic en varias respuestas seleccionadas, almacena todo el valor en lugar de almacenar solo el último valor?

Así que digamos que tengo una selección con solo 2 opciones

ingrese la descripción de la imagen aquí

Y luego hago clic en la opción 1, pero decidí cambiar a la opción 2 en el último minuto. ¿Por qué guarda ambos datos/información en la base de datos?

ingrese la descripción de la imagen aquí

Se imprime así en la tabla: ingrese la descripción de la imagen aquí

Como puede ver, imprime ambas escuelas ("colegios") porque hice clic en ambas en la selección.

Este es el fragmento de código que es relevante, avíseme si necesita el código completo.

 const [idType1, setidType1] = useState([]); const register = (e) => { e.preventDefault(); const docRef = db.collection('usuarios').doc(user.uid).collection('estudiantes').doc(); docRef.set({ name: firstName + " " + lastName, school: idType1, grade: idType2, uid: docRef.id, }).then((r) => { history.push("/Inicio"); }) } <select className = "crear_escuela" onChange = {(e) => setidType1([...idType1, e.target.value])} required> <option value="" disabled selected hidden>Seleccione...</option> <option value = 'Academia Internacional de Boquete' label = 'Academia Internacional de Boquete' /> <option value = 'Academia Internacional de David' label = 'Academia Internacional de David' /> </select>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El problema está en onChange = {(e) => setidType1([...idType1, e.target.value]) .

Cada vez que cambia el valor en la select , agrega el valor seleccionado a idType1 . Dado que se trata de un menú desplegable, normalmente querrá reemplazar el valor existente de idType1 con el valor recién seleccionado.

Asi que:

 onChange = { (e) => setidType1(e.target.value) }
about 4 years ago · Juan Pablo Isaza Report
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!