我想在用户正确登录后使用重定向。在上下文文件中,我有(仅重要的事情):
const [infoLog, setInfoLog] = React.useState("");
const login = name => {
setInfoLog(name);
};
<LoginInfo.Provider
value={{
login: login,
logout: logout,
infolog: infoLog
}}
>
{children}
</LoginInfo.Provider>
export const LoginInfoConsumer = LoginInfo.Consumer;
在登录文件中,我只有(重要的东西):登录方式:
const login = () => {
if (tempLogin.login === "Login" && tempLogin.password == "Haslo") {
setLogged(addTempLogin.login);
}
返回:
<LoginPage>
{logged != "" && (
<div>
<LoginInfoConsumer>
<div>{({ login }) => <div>{login(logged)}</div>}</div>
</LoginInfoConsumer>
</div>
)}
我不知道我应该在哪里插入重定向,我在代码的最后一部分尝试过,但是我不能正确地做到这一点。
我解决了我的问题。在<div>
之外的LoginInfoConsumer中,销毁<Redirect>
的所有方式我在[]中插入了<Redirect>
const login = name => {
setInfoLog(name);
return <Redirect to="/page" />;
};