Next.js如果token不存在,则从dashboard重定向到登录页面

os8fio9y  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(177)

我是新来的。js和我想知道如何从 Jmeter 板页面重定向到Login页面如果userToken不存在。
在reactjs中,我做了下面提到的simplay,当我用nextjs尝试它时,呈现了下面的错误。当我试图访问 Jmeter 板它给予我的第一个quck Jmeter 板闪光看,然后重定向到登录形式,我不想看,我只是希望它重定向到登录页面没有任何延迟或任何 Jmeter 板或任何其他页面的闪光看用户。

控制台错误如下

xt-dev.js:23警告:收到非布尔属性raisedtrue。〉如果你想把它写入DOM,传递一个字符串:raised=“true”或raised={value.getString(){at按钮at表单at div at div at div at LoginPage(webpack-internal:///./pages/auth/login/index.jsx:37:128)在LayoutProvider(webpack-internal:///./layout/context/layoutcontext。js:16:

我已经试过下面的代码

useEffect(() => {
        if (!userToken) {
            return router?.push("/auth/login");
        }
    });

在react js中,我尝试了这个,它工作得很好

if (!userToken) {
    return <Navigate to="/auth/login" />;
  }

但是当我在nextjs中尝试这个时,它给予了我下面的错误import { Navigate } from "react-router-dom";

错误:只能在组件的上下文中使用。

ua4mk5z4

ua4mk5z41#

在Nextjs中,你应该用途:

import { useRouter } from 'next/router';
const router = useRouter();

https://nextjs.org/docs/api-reference/next/router

相关问题