我正在尝试构建一个带有身份验证逻辑的简单react应用程序。。储存库可以在这里找到
我在尝试访问/reports
时遇到了问题,因为即使useEffect挂钩运行并验证用户,应用程序也会不断将我重定向到/login
页面。。
可能缺少什么?
感谢
我认为您从PrivateRoute
返回的内容应该更改
开始时isAuthenticated
为假,loading
为真
isAuthenticated && !loading === false
所以您的<Navigate replace to="/login" />
已返回。
相反,你可以将加载状态移动到上面的某个地方,使其像一样
function PrivateRoute({ children }) {
/* ... */
if (loading) {
return <SomeSpinner />
}
return isAuthenticated
? children
: <Navigate replace to="/login" />;
}
你不会立即重定向,而是等待加载