• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

129
Views
No se puede leer el valor de la etiqueta de selección en reaccionar JSX
delcare state object const [addEmpData, setAddEmpData] = useState({ user_id:'',employee_id:'',name:'',date_of_join:'',gender:'',designation:'',user_role:'' })

aquí apoyo de valor añadido en la etiqueta de selección como addempData.gender. y un onchange fn que establece el valor en state.

 <div className="col-sm-6"> <div className="form-group"> <label className="col-form-label">Gender</label> <select value={addEmpData.gender} onChange={(e)=>setAddEmpData({...addEmpData,gender:e.target.value})} className="select"> <option value='select'>Select</option> <option value="Male">Male</option> <option value='Female'>Female</option> </select> </div> </div>
almost 3 years ago · Juan Pablo Isaza
3 answers
Answer question

0

const [addEmpData, setAddEmpData] = useState({user_id:'',employee_id:'',name:'',date_of_join:'',gender:'',designation:'',user_role:''}) function handler(e) { const {name,value}=e.target; setAddEmpData({ ...addEmpData, [name]:value }) }
 <div className="form-group"> <label className="col-form-label">Gender : </label> <select value={addEmpData.gender} onChange={(e)=>handler(e)} name="gender" className="select"> <option value='select'>Select</option> <option value="Male">Male</option> <option value='Female'>Female</option> </select> </div>

Puedes probar este código.
En este valor se leerá y cambiará en el estado también
Para probar este código, marque esto

almost 3 years ago · Juan Pablo Isaza Report

0

La implementación adecuada de los componentes controlados en React se basa en su caso de uso.

 import { useState } from "react"; export default function App() { const [addEmpData, setAddEmpData] = useState({ user_id: "", employee_id: "", name: "", date_of_join: "", gender: "", designation: "", user_role: "" }); console.log(addEmpData); return ( <div className="col-sm-6"> <div className="form-group"> <label className="col-form-label">Gender</label> <select value={addEmpData.gender} onChange={(e) => setAddEmpData((prev) => ({ ...prev, gender: e.target.value })) } className="select" > <option value="select">Select</option> <option value="Male">Male</option> <option value="Female">Female</option> </select> </div> </div> ); }

También puede interactuar con la demostración en CodeSandbox, simplemente haga clic aquí

almost 3 years ago · Juan Pablo Isaza Report

0

El problema

Usar el estado actual en setState es un antipatrón en React.js .

La solución

Use prevState dentro de su setState para desestructurar las propiedades sin cambios:

 onChange={ (e) => setAddEmpData((prevState) => {...prevState, gender:e.target.value}) }

Descargo de responsabilidad

Puede usar cualquier nombre en lugar de prevState , pero debe ser el mismo en el lado izquierdo y derecho. prevState es solo un nombre de parámetro, pero se considera una práctica recomendada para demostrar el propósito de setState con la reestructuración del estado anterior.

almost 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error