i use something like this to setCookies for my login and password
import { useCookies } from "react-cookie";
const LoginForm = ({ loginUser, users, usersLogged }, props) => {
const [cookies, setCookie] = useCookies(["user"]);
if (usersLogged.login !== "") {
return <Redirect push to="/" />;
}
console.log("props", props);
const handleSubmit = (values) => {
const loggedUser = users.find((el) => el.login === values.login);
if (loggedUser) {
console.log("logged");
setCookie("login", values.login, { path: "/" });
setCookie("password", values.password, { path: "/" });
loginUser(values);
return <Redirect push to="/" />;
} else {
alert("Wrong login");
}
};
return (
<div>
<h3>Login</h3>
<Formik
initialValues={{
login: "",
password: "",
}}
onSubmit={(values) => handleSubmit(values)}
enableReinitialize={true}
>
<Form>
<Field name="login" placeholder="login" />
<Field name="password" placeholder="password" />
<button type="submit">Log In</button>
</Form>
</Formik>
<Link to="/register"> Register </Link>
</div>
);
};
const mapStateToProps = (state) => {
return {
users: state.users.users,
usersLogged: state.users.loggedUsers,
};
};
const mapDispatchToProps = {
loginUser,
};
export default withRouter(
connect(mapStateToProps, mapDispatchToProps)(LoginForm)
);
But how do i know refer to this cookies. As you can see i use if (usersLogged.login !== "") { return <Redirect push to="/" />; }
It takes me to the main page, but after refresh the usersLogged.login is empty, although i keep login/password in my cookies. I wondered how can I refer to cookies, so that if there is an cookie it would redirect me to the main page on '/'