Quiero dar algo de texto en el campo de entrada y después de hacer clic en el botón de actualización debería actualizarse en la lista desplegable pero no funciona
import React from "react"; export default function DropDown() { const [input, setInput] = React.useState(''); const selectproject=({e})=>{ setInput(e.target.value); } return ( <> <select> <option>{input?input:'null'}</option> </select> <br/><br/> <input value={input} /><button onClick={selectproject}>Update</button> </> ); }elimine selectproject en los accesorios del proyecto seleccionado.
selectproject=(e)=>{ setInput(e.target.value); } está desestructurando e en <Event> que no está disponible. si quieres desestructurarlo, prueba esto en su lugar
selectproject=({target: {value}})=>{ setInput(value); }si desea que la lista desplegable se actualice después de hacer clic en el botón, necesitará otro estado
import React from "react"; export default function DropDown() { const [input, setInput] = React.useState(""); const [project, setProject] = React.useState(""); const selectproject = () => { setProject(input); }; const handleOnChange = (e) => { setInput(e.value.target); }; return ( <> <select> <option>{project ? project : "null"}</option> </select> <br /> <br /> <input value={input} onChange={handleOnChange} /> <button onClick={selectproject}>Update</button> </> ); }Necesita quitar la llave alrededor de e y configurar onchange para ingresar:
import React from "react"; export default function DropDown() { const [input, setInput] = React.useState(""); const selectproject = (e) => { setInput(e.target.value); }; return ( <> <select> <option>{input ? input : "null"}</option> </select> <br /> <br /> <input value={input} onChange={selectproject} /> <button onClick= {selectproject}>Update</button> </> ); }Puedes usar desde dos useState:
import React from "react"; function DropDown() { const [input, setInput] = React.useState(''); const [select,setSelect] = React.useState(''); const selectproject = () => { setSelect(input); } const handleChange = (e) => { setInput(e.target.value); } return ( <> <select> <option>{select?select:'null'}</option> </select> <br/><br/> <input onChange={handleChange} value={input} /><button onClick={selectproject}>Update</button> </> ); }