Estoy creando un menú desplegable en React usando un menú desplegable de selección.
o por alguna razón, mi valor seleccionado no está pasando, está pasando la matriz completa en lugar del valor que seleccioné en el menú desplegable.
¿Qué estoy haciendo mal aquí y cómo puedo pasar el valor que seleccioné a través del menú desplegable?
Código desplegable en React
<select className='add-cap-select' onChange={(value) => handleChangeForm('agent', value)} > {agents.map((agent) => ( <option id='agent' key={agent} value={form.agent}> {agent} </option> ))} </select> /** * Handles when the user changes any regular form entry * @param {String} prop * @param {String} value */ const handleChangeForm = (prop, value) => { setForm({ ...form, [prop]: value }) }Aquí está mi solución simple para hacer esto
import React, {useState} from 'react'; export function App(props) { const [agent, setAgent] = useState({ agent:'', }); const handleChangeForm = event =>{ console.log(event.target.name, event.target.value) setAgent({...agent,[event.target.name]:event.target.value}) } return ( <select className='add-cap-select' name="agent" onChange={(event) => handleChangeForm(event)} > <option value="one">one</option> <option value="two">two</option> <option value="three">three</option> </select> ); }está pasando agente y valor tanto en handleFormChange, en lugar de esto, puede poner el nombre en select, y desde el evento, puede obtener el nombre y el valor, aquí está pasando directamente el valor, que en realidad es un evento si lo desea hacer en su solución, entonces puede hacer esto -> value.target.value