当前位置:首页 > React

react route如何传参数

2026-01-24 06:16:24React

React Router 传参方法

React Router 提供了多种传递参数的方式,适用于不同场景的需求。

路径参数(URL Params)

通过动态路由匹配传递参数,参数会显示在 URL 中。

// 路由配置
<Route path="/user/:id" component={User} />

// 组件跳转
<Link to="/user/123">User 123</Link>
// 或
history.push("/user/123");

// 获取参数
const { id } = useParams(); // React Router v6
// 或
const { id } = props.match.params; // React Router v5

查询参数(Query Params)

通过 URL 查询字符串传递参数,适合传递多个可选参数。

// 组件跳转
<Link to="/search?query=react&page=1">Search</Link>
// 或
history.push("/search?query=react&page=1");

// 获取参数
const [searchParams] = useSearchParams(); // React Router v6
const query = searchParams.get("query");
const page = searchParams.get("page");

// React Router v5 需要手动解析
const query = new URLSearchParams(props.location.search).get("query");

状态参数(State)

通过路由状态传递参数,参数不会显示在 URL 中,适合传递敏感或大量数据。

// 组件跳转
<Link to="/profile" state={{ userId: 123 }}>Profile</Link>
// 或
history.push("/profile", { userId: 123 });

// 获取参数
const { state } = useLocation(); // React Router v6
const userId = state?.userId;

// React Router v5
const userId = props.location.state?.userId;

自定义参数传递

可以通过组合方式传递复杂参数。

react route如何传参数

// 结合路径和状态
history.push({
  pathname: "/edit/123",
  state: { fromDashboard: true }
});

// 获取方式
const { id } = useParams();
const { state } = useLocation();

每种传参方式适用于不同场景:路径参数适合必要标识符,查询参数适合可选过滤条件,状态参数适合临时或敏感数据。根据具体需求选择最合适的方法。

标签: 参数react
分享给朋友:

相关文章

react性能如何

react性能如何

React 性能特点 React 通过虚拟 DOM(Virtual DOM)和高效的 diff 算法优化性能。虚拟 DOM 减少了直接操作真实 DOM 的开销,仅在必要时更新变化的部分。React 的…

如何启动react

如何启动react

安装Node.js 确保系统已安装Node.js(建议使用LTS版本),可通过官网下载并安装。安装完成后,在终端运行以下命令验证版本: node -v npm -v 创建React项目 使用官方工具…

react如何发音

react如何发音

React的发音 React的正确发音为 /riˈækt/,类似于“ree-akt”。以下是详细说明: 发音分解 第一个音节“Ree”发音类似英文单词“see”中的“ee”音。 第二个音节…

react如何提交表单

react如何提交表单

表单提交的基本方法 在React中提交表单通常通过控制组件状态和事件处理实现。表单数据通过onSubmit事件捕获,并阻止默认提交行为以避免页面刷新。 import { useState } fro…

react如何激活跟踪

react如何激活跟踪

激活 React 跟踪的方法 React 跟踪通常指性能监控、状态变更追踪或用户行为分析。以下是几种常见场景的激活方式: 使用 React DevTools React DevTools 是官方…

react如何实现录音

react如何实现录音

使用React实现录音功能 在React中实现录音功能通常需要借助浏览器的MediaRecorder API。以下是实现步骤: 获取用户麦克风权限 需要请求用户授权访问麦克风设备,使用navigat…