React Router 是一个用于在 React 应用程序中实现导航和路由功能的库
首先,确保已经安装了 react-router-dom
:
npm install react-router-dom
要在应用程序中使用 React Router,请在项目的入口文件中引入 BrowserRouter
组件,并将其包装在应用程序的根组件外部:
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
);
在 App
组件中,使用 Route
组件定义路由规则:
import React from 'react';
import { Route, Switch } from 'react-router-dom';
import Home from './Home';
import About from './About';
function App() {
return (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</Switch>
);
}
export default App;
要实现重定向,可以使用 Redirect
组件。例如,当用户访问 /old-path
时,将其重定向到 /new-path
:
import React from 'react';
import { Route, Switch, Redirect } from 'react-router-dom';
function App() {
return (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Redirect from="/old-path" to="/new-path" />
</Switch>
);
}
export default App;
history.push()
是一个用于导航到新页面的方法。它可以在组件内部调用,也可以在事件处理程序中调用。例如,当用户点击按钮时,导航到 /about
页面:
import React from 'react';
import { useHistory } from 'react-router-dom';
function Home() {
const history = useHistory();
const handleClick = () => {
history.push('/about');
};
return (
<div>
<h1>Home Page</h1>
<button onClick={handleClick}>Go to About</button>
</div>
);
}
export default Home;
领取专属 10元无门槛券
手把手带您无忧上云