Actualmente, estoy tratando de crear un inicio de sesión y, por alguna razón, mi código para mi inicio de sesión no se activa. La función loginUserWithEmail no se activa. No se activa porque ninguno de los console.log dentro de la función loginUserWithEmail está impreso en la consola. La función onSubmit() en Login.tsx se activa cuando hago clic en el botón "Iniciar sesión".
Gracias.
Iniciar sesión.tsx:
import { useFormik } from 'formik'; import { loginUserWithEmail, LoginFormData } from '../../actions/authActions' const Login = ({ auth, history, login }: {auth: any, history: RouteComponentProps['history'], login: any}) => { const formik = useFormik({ initialValues: { email: '', password: '', }, validationSchema: loginSchema, onSubmit: (values: LoginFormData) => { console.log("before loginuserwithemail"); loginUserWithEmail(values, history); console.log("after") }, }); ... }authActions.ts
export const loginUserWithEmail = (formData: LoginFormData, history: RouteComponentProps['history']) => async (dispatch: any, getState: any) => { console.log("inside loginuserwithemail function") dispatch({ type: LOGIN_WITH_EMAIL_LOADING }); try { const response = await axios.post('/auth/login', formData); console.log("inside here") dispatch({ type: LOGIN_WITH_EMAIL_SUCCESS, payload: { token: response.data.token, me: response.data.me }, }); dispatch(loadMe()); history.push('/'); } catch (err: any) { dispatch({ type: LOGIN_WITH_EMAIL_FAIL, payload: { error: err.response.data.message }, }); } };loginUserWithEmail es hoc (función que devuelve función) Lo necesita para llamar a la función devuelta por esta función
await loginUserWithEmail(values, history)(dispatch, getState);