当前位置:首页 > React

react路由如何带多个参数

2026-03-11 13:14:03React

路由配置

在React Router中,可以通过路由配置的path属性定义多个参数。参数以冒号:开头,例如/user/:id/:name表示匹配idname两个动态参数。

<Route path="/user/:id/:name" component={UserPage} />

获取参数

在组件中通过useParams钩子获取路由参数。返回的对象包含所有动态参数键值对。

react路由如何带多个参数

import { useParams } from 'react-router-dom';

function UserPage() {
  const { id, name } = useParams();
  return <div>ID: {id}, Name: {name}</div>;
}

可选参数

通过添加问号?将参数标记为可选。例如/search/:query?允许query参数为空。

<Route path="/search/:query?" component={SearchPage} />

编程式导航

使用useNavigate钩子或Link组件传递多参数。参数会以URL形式体现。

react路由如何带多个参数

// 使用Link组件
<Link to="/user/123/john">User Profile</Link>

// 使用navigate函数
const navigate = useNavigate();
navigate('/user/123/john');

查询字符串

通过useSearchParams处理查询参数。与动态参数不同,查询字符串以?key=value形式附加在URL末尾。

import { useSearchParams } from 'react-router-dom';

function SearchPage() {
  const [searchParams] = useSearchParams();
  const query = searchParams.get('q');
  const sort = searchParams.get('sort');
}

嵌套参数

在嵌套路由中,每个层级的组件可以访问自己的参数。父路由参数通过useParams在子组件中仍可获取。

<Route path="/posts/:postId" element={<PostLayout />}>
  <Route path="comments/:commentId" element={<CommentPage />} />
</Route>

标签: 多个路由
分享给朋友:

相关文章

react如何获取路由

react如何获取路由

获取当前路由路径 在React中获取当前路由路径可以通过react-router-dom提供的useLocation钩子。useLocation返回一个包含当前路由信息的对象,其中pathname属性…

vue实现权限路由

vue实现权限路由

Vue 权限路由实现方法 基于路由元信息(meta)和全局前置守卫 在路由配置中通过 meta 字段标记权限标识,结合 router.beforeEach 实现动态拦截: // router.js…

vue实现路由缓存

vue实现路由缓存

Vue 路由缓存实现方法 在 Vue 项目中,可以通过 keep-alive 组件和路由配置实现页面缓存,避免重复渲染和保持组件状态。 使用 keep-alive 包裹路由视图 在根组件或布局组件中…

vue路由如何实现

vue路由如何实现

vue路由的实现方法 Vue路由可以通过Vue Router库来实现。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。 安装Vue Router 使用npm或yar…

vue实现路由匹配

vue实现路由匹配

Vue 路由匹配实现方法 在 Vue 中实现路由匹配通常使用 Vue Router 库。以下是核心实现方式: 基础路由配置 安装 Vue Router 后,在路由配置文件中定义路径与组件的映射关系:…

vue实现子路由

vue实现子路由

Vue 实现子路由的方法 在 Vue 中实现子路由主要通过 Vue Router 完成,以下是具体实现步骤: 安装 Vue Router 确保项目中已安装 Vue Router,若未安装,可以通过以…