当前位置:首页 > React

react实现hash路由

2026-01-26 19:18:59React

使用 react-router-dom 实现 Hash 路由

React 中可以通过 react-router-dom 库实现 Hash 路由。Hash 路由的特点是 URL 中包含 #,适合不支持 HTML5 History API 的环境。

安装依赖:

react实现hash路由

npm install react-router-dom

基本实现代码

创建一个简单的 Hash 路由示例:

import { HashRouter as Router, Route, Link, Routes } from 'react-router-dom';

function Home() {
  return <h2>Home Page</h2>;
}

function About() {
  return <h2>About Page</h2>;
}

function App() {
  return (
    <Router>
      <div>
        <nav>
          <Link to="/">Home</Link>
          <Link to="/about">About</Link>
        </nav>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/about" element={<About />} />
        </Routes>
      </div>
    </Router>
  );
}

export default App;

路由参数传递

可以通过 useParams 获取 Hash 路由中的参数:

react实现hash路由

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

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

// 在路由配置中添加
<Route path="/user/:id" element={<User />} />

编程式导航

使用 useNavigate 实现编程式导航:

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

function Login() {
  const navigate = useNavigate();
  return (
    <button onClick={() => navigate('/dashboard')}>
      Login
    </button>
  );
}

嵌套路由

Hash 路由同样支持嵌套路由:

<Routes>
  <Route path="/" element={<Layout />}>
    <Route index element={<Home />} />
    <Route path="about" element={<About />} />
  </Route>
</Routes>

注意事项

  • Hash 路由的 URL 会包含 #,如 http://example.com/#/about
  • 相比 BrowserRouter,HashRouter 不需要服务器端配置
  • 适用于静态网站托管等场景
  • 搜索引擎可能对 Hash 路由的支持有限

标签: 路由react
分享给朋友:

相关文章

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指的是在某些条件下阻止组件渲染或中断正在进行的渲染过程。以下是几种常见的方法: 条件渲染 通过条件判断决定是否渲染组件或部分内容。可以使用if语句或三元运…

如何关闭react

如何关闭react

关闭React应用的步骤 在开发或运行React应用时,可能需要关闭正在运行的开发服务器或停止应用。以下是几种常见情况的处理方法: 停止开发服务器 如果正在使用npm start或yarn star…

react如何折叠

react如何折叠

在 React 中实现折叠功能 使用 useState 管理折叠状态 通过 useState 定义一个状态变量来控制折叠面板的显示与隐藏。例如: const [isCollapsed, setIsC…

如何清洁react

如何清洁react

清洁 React 项目的方法 删除未使用的依赖项 运行 npm ls 或 yarn list 检查已安装的依赖项,使用 npm uninstall <package> 或 yarn rem…

react 如何精通

react 如何精通

掌握核心概念 深入理解React的基础概念,包括组件(函数组件与类组件)、状态(useState)、生命周期(useEffect)、Props传递、虚拟DOM与Diff算法。通过官方文档或《React…

react项目如何启动

react项目如何启动

启动React项目的步骤 确保已安装Node.js(建议版本12以上)和npm/yarn。可通过以下命令检查版本: node -v npm -v 全局安装create-react-app脚手架工具(…