繁体   English   中英

如何在 Next.Js 中重定向(客户端)

[英]How to redirect in Next.Js (CLIENT SIDE)

如果用户是否有保存在 cookies 中的令牌,我正在尝试进行重定向,这是我的代码:

const Secret = () => {
  const router = useRouter();
  const [token] = useState({
    token: cookies.get("token") || null,
  });
  if (token.token == null || token.token.hasOwnProperty("error")) {
    router.push("/login");
  } else {
    router.push("/");
  }
  return (
    <>
      <h1>Secret</h1>
    </>
  );
};

但我收到此错误:未找到路由器实例。 您应该只在应用程序的客户端内使用“next/router”。 任何人都知道如何解决它? 谢谢!

我认为问题来自您将代码放入的位置。您的情况应该是在安装组件时发生的,所以试试这个:

React.useEffect(() => {
 if (token.token == null || token.token.hasOwnProperty("error")) {
    router.push("/login");
  } else {
    router.push("/");
  }
}, [])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM