当前位置:首页 > React

react route如何传参数

2026-03-31 13:45:06React

路由参数传递

在React Router中,可以通过URL路径传递参数。使用动态路由匹配,参数会被自动解析并可通过useParams钩子获取。

定义带参数的路由:

<Route path="/user/:id" element={<User />} />

在组件中获取参数:

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

function User() {
  const { id } = useParams();
  return <div>User ID: {id}</div>;
}

查询参数传递

通过URL查询字符串传递参数,使用useSearchParams钩子获取和修改查询参数。

在组件中使用查询参数:

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

function Search() {
  const [searchParams, setSearchParams] = useSearchParams();
  const query = searchParams.get('q');

  return (
    <div>
      Search Query: {query}
      <button onClick={() => setSearchParams({ q: 'new' })}>
        Update
      </button>
    </div>
  );
}

状态参数传递

通过navigate函数的state选项传递参数,这些参数不会显示在URL中,但可以通过useLocation钩子获取。

react route如何传参数

传递状态参数:

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

function Home() {
  const navigate = useNavigate();

  return (
    <button 
      onClick={() => navigate('/profile', { state: { fromHome: true } })}
    >
      Go to Profile
    </button>
  );
}

接收状态参数:

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

function Profile() {
  const location = useLocation();
  const { fromHome } = location.state || {};

  return <div>{fromHome ? 'From Home' : 'Not from Home'}</div>;
}

编程式导航传递参数

通过useNavigate钩子进行编程式导航时,可以传递参数。

传递路径参数:

react route如何传参数

const navigate = useNavigate();
navigate('/user/123');

传递查询参数:

navigate('/search?q=react');

传递状态参数:

navigate('/profile', { state: { user: 'admin' } });

获取路由参数

在类组件中获取路由参数,可以使用withRouter高阶组件或通过props获取。

使用withRouter

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

class User extends React.Component {
  render() {
    const { id } = this.props.match.params;
    return <div>User ID: {id}</div>;
  }
}

export default withRouter(User);

在函数组件中,推荐使用useParamsuseSearchParamsuseLocation钩子来获取各种类型的参数。

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

相关文章

react 如何执行

react 如何执行

安装 Node.js 和 npm React 开发需要 Node.js 环境,因为它提供了 npm(或 yarn)包管理工具。从 Node.js 官网 下载并安装最新 LTS 版本。安装完成后,在终端…

电脑如何安装react

电脑如何安装react

安装 Node.js 和 npm React 依赖于 Node.js 和 npm(Node Package Manager)。从 Node.js 官网下载并安装最新稳定版本,安装完成后会自动包含 np…

如何创建react

如何创建react

创建React项目的步骤 使用Create React App工具快速搭建React项目。确保已安装Node.js(版本需≥14.0.0)和npm(版本需≥5.6)。 打开终端或命令行工具,运行以下…

如何配置react

如何配置react

配置React项目的步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过官网下载并安装最新版本。安装完成后,运行以下命令验证版本: node -v npm -v 创建…

react 如何跳转

react 如何跳转

使用 React Router 进行页面跳转 React 应用中通常使用 react-router-dom 库实现页面跳转。以下是几种常见的跳转方式: 安装依赖 npm install react…

odyssey react 如何

odyssey react 如何

Odyssey React 是耐克推出的一款跑鞋系列,以其轻量化设计和React泡沫缓震技术著称。以下是关于该系列鞋款的主要特点和使用建议: 核心特点 React泡沫中底提供出色的能量回馈和缓震效果…