当前位置:首页 > React

react route如何传参数

2026-01-24 06:16:24React

React Router 传参方法

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

路径参数(URL Params)

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

react route如何传参数

// 路由配置
<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 查询字符串传递参数,适合传递多个可选参数。

react route如何传参数

// 组件跳转
<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;

自定义参数传递

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

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

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

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

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

相关文章

react native 如何

react native 如何

安装 React Native 开发环境 确保系统已安装 Node.js(建议版本 16 或更高)。通过以下命令安装 React Native CLI 工具: npm install -g reac…

如何评价react native

如何评价react native

React Native 的优势 跨平台开发效率高:基于 JavaScript 和 React 语法,可同时开发 iOS 和 Android 应用,减少重复代码量。性能接近原生:通过原生组件渲染,性能…

react如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

react架构如何

react架构如何

React 架构核心概念 React 的架构围绕组件化、虚拟 DOM 和单向数据流设计。组件是构建用户界面的独立模块,分为函数组件和类组件。虚拟 DOM 通过高效的 Diff 算法减少直接操作真实 D…

react如何同步修改

react如何同步修改

同步修改状态的常见方法 在React中同步修改状态通常涉及使用useState或useReducer钩子,结合React的批处理机制确保状态更新的一致性。以下是几种典型场景的解决方案: 直接使用us…

如何搭建react项目

如何搭建react项目

使用 Create React App 搭建项目 Create React App (CRA) 是官方推荐的快速搭建 React 项目的工具,无需配置构建工具(如 Webpack 或 Babel)。…