React Router 是一个用于 React 应用的路由库,它允许开发者为单页应用(SPA)创建导航和路由规则。在 React Router 中,模式路由(Pattern Routing)是一种根据 URL 的模式来匹配和渲染组件的方法。
模式路由基于 URL 的路径模式来决定哪个组件应该被渲染。它使用路径匹配规则,如通配符、参数和可选部分,来定义路由规则。
以下是一个简单的 React Router 配置示例,展示了如何使用模式路由:
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Home from './Home';
import User from './User';
import NotFound from './NotFound';
function App() {
return (
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/user/:userId" component={User} />
<Route component={NotFound} />
</Switch>
</Router>
);
}
export default App;
在这个例子中:
/
路径会渲染 Home
组件。/user/:userId
是一个动态路由,:userId
是一个参数,可以匹配任何以 /user/
开头的路径,并将 userId
作为参数传递给 User
组件。NotFound
组件。问题:如何获取动态路由中的参数?
解决方法:
在 User
组件中,可以使用 useParams
钩子来获取动态参数:
import { useParams } from 'react-router-dom';
function User() {
const { userId } = useParams();
return (
<div>
<h1>User Profile</h1>
<p>User ID: {userId}</p>
</div>
);
}
export default User;
这样,当访问 /user/123
时,userId
的值将是 123
。
通过这种方式,React Router 提供了一个强大而灵活的路由系统,使得构建复杂的单页应用变得更加容易。
领取专属 10元无门槛券
手把手带您无忧上云