Estoy tratando de hacer una pequeña pantalla de inicio de sesión con React funcional. Tengo un botón de entrada en el que quiero hacer clic y hacer que suceda la publicación de inicio de sesión. Por mi vida, no puedo hacer que el manejador dispare. loginPressed simplemente no será llamado. Estoy seguro de que es algo fácil que estoy pasando por alto.
import * as React from 'react'; import axios from 'axios' export default function Login() { const [email, setEmail] = React.useState([]); const [password, setPassword] = React.useState([]); const loginPressed = () => { var body = { 'email': email, 'password': password } axios.post('login', body) .then(response => { }) } return ( <div> <p>Username:</p> <p><input type="text" name="email" onChange={(e) => {setEmail(e.target.value)}}/></p> <p>Password:</p> <p><input type="password" name="password" onChange={(e) => {setPassword(e.target.value)}}/></p> <p> <input type='button' value='Login' onClick={loginPressed}/> </p> </div> ); }Debe usar el formulario con onSubmit={loginPressed}. En lugar de usar el elemento html del botón de entrada con el tipo de envío.