Uma sugestão para quem quiser captar os valores de um mesmo formulário sem criar um estado para cada input
é criar um único estado que representa o estado do formulário:
const [formValues, setFormValues] = useState({
nome: '',
cargo: '',
imagem: '',
})
E após isto, criar uma função que tratará de captar estes valores:
const handleChange = (event) => {
setFormValues({
...formValues,
[event.target.id]: event.target.value,
})
}
E depois no elemento input
atribuir um id
para cada input
e passar a nossa função:
<input
type="text"
id="nome"
onChange={(e) => handleChange(e)}
/>
Obs.: O id
deve ter o mesmo nome que você atribuiu ao criar o estado.