import React, { useState } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import { Redirect, Link } from "react-router-dom"; import { loginUser } from "../../actions/users"; const mapStateToProps = state => ({ isLogged: state.userStore.get("isLogged"), isLoading: state.userStore.get("loading"), error: state.userStore.get("error") }); const mapDispatchToProps = { loginUser }; const UserLoginForm = props => { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const handleSubmit = e => { e.preventDefault(); if (!props.isLoading) { props.loginUser(username, password); } }; if (props.isLogged) { return ; } return (

Log in


{props.error && props.error !== "" && (
{props.error}
)}
handleSubmit(e)}>

setUsername(e.target.value)} />


setPassword(e.target.value)} />

No account yet ? Create one {props.isLoading && ( )} {props.isLoading || ( )}
); }; UserLoginForm.propTypes = { loginUser: PropTypes.func.isRequired, isLoading: PropTypes.bool.isRequired, isLogged: PropTypes.bool.isRequired, error: PropTypes.string }; export default connect(mapStateToProps, mapDispatchToProps)(UserLoginForm);