【发布时间】:2021-03-29 05:41:36
【问题描述】:
我正在使用 react-router 和 auth0,我的 app.js 看起来像下面的代码。 isAuthenticated 如果 auth0 功能并基于它是否为真我呈现我的登录页面或登录的应用程序仪表板。这几乎可以正常工作,但是当我以登录状态重新加载时,登录页面会加载并且仅在仪表板之后加载。我想这是因为他们都有'/'作为路径,但是我如何设置我的页面在登录身份验证后转到 http://localhost/3000/Dashboard?
import React from "react";
import LandingPage from "../Pages/LandingPage/LandingPage";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import Footer from "../Pages/LandingPage/Footer";
import { useAuth0 } from "@auth0/auth0-react";
import Navbar2 from "../Pages/LandingPage/Navbar2";
import Dashboard from "../Pages/inAppPages/Dashboard/Dashboard";
function App() {
const { isAuthenticated } = useAuth0();
if (isAuthenticated) {
return (
<Router>
<Switch>
<Route path='/' component={Dashboard} />
</Switch>
<Footer />
</Router>
);
} else {
return (
<Router>
<Navbar2 />
<Switch>
<Route path='/' exact component={LandingPage} />
</Switch>
<Footer />
</Router>
);
}
}
export default App;
【问题讨论】:
-
Auth0 最近更新/交叉托管了 react 指南。值得一看 - auth0.com/blog/complete-guide-to-react-user-authentication