当我使用上下文时应在何处以及如何使用重定向

问题描述 投票:0回答:1

我想在用户正确登录后使用重定向。在上下文文件中,我有(仅重要的事情):

  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>
        )}

我不知道我应该在哪里插入重定向,我在代码的最后一部分尝试过,但是我不能正确地做到这一点。

reactjs
1个回答
0
投票

我解决了我的问题。在<div>之外的LoginInfoConsumer中,销毁<Redirect>的所有方式我在[]中插入了<Redirect>

const login = name => {
    setInfoLog(name);
    return <Redirect to="/page" />;
  };
© www.soinside.com 2019 - 2024. All rights reserved.