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

时间:2019-10-17 18:48:34

标签: reactjs

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

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

我不知道应该在哪里插入重定向,我在代码的最后一部分中尝试过,但是我无法正确执行此操作。

1 个答案:

答案 0 :(得分:0)

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

中插入了<Redirect>
const login = name => {
    setInfoLog(name);
    return <Redirect to="/page" />;
  };