使用React Router中的Redirect组件和BrowserRouter组件来实现。首先,需要在应用程序中安装React Router:
npm install react-router-dom
然后,在应用程序的根组件中使用BrowserRouter组件:
import {BrowserRouter} from 'react-router-dom';
function App() {
return (
{/* Your application code*/}
);
}
export default App;
使用Redirect组件来保护路由并防止导航超出域。例如,您可以使用以下代码将特定路由保护起来:
import { Redirect } from 'react-router-dom';
function ProtectedRoute(props) {
const isAuthenticated = true; //replace with your own authentication logic
return isAuthenticated ? (
) : (
);
}
在这个例子中,如果用户未经过身份验证,他们将被重定向到/login的页面,并传递当前位置作为状态,以便在登录后返回正确的位置。您可以将ProtectedRoute放置在需要保护的路由上。
注意:如果您需要保护整个应用程序,并防止导航超出域,则应在BrowserRouter组件周围使用Switch和Redirect组件来实现。以下是一个示例:
import {BrowserRouter, Switch, Route, Redirect} from 'react-router-dom';
function App() {
const isAuthenticated = true; //replace with your own authentication logic
return (
);
}
function ProtectedRoute({ component: Component, isAuthenticated,