You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React中实现React Router哈希URL模式?

如何在React Router中启用哈希URL模式

嘿,作为React新手,想要切换到哈希模式其实超简单!React Router专门提供了对应的组件来实现这个需求,我一步步给你讲清楚:

  • 第一步:确保安装了React Router
    如果还没安装react-router-dom,先通过包管理器安装:

    npm install react-router-dom
    # 或者用yarn
    yarn add react-router-dom
    
  • 第二步:用HashRouter替代BrowserRouter
    React Router默认的BrowserRouter会生成不带#的路径(比如/list),而HashRouter会自动在URL中添加#前缀,完美匹配你想要的#/list格式。

    举个代码示例,原来的路由配置可能是这样的:

    import { BrowserRouter, Routes, Route } from 'react-router-dom';
    import ListPage from './pages/ListPage';
    
    function App() {
      return (
        <BrowserRouter>
          <Routes>
            <Route path="/list" element={<ListPage />} />
            {/* 其他路由规则 */}
          </Routes>
        </BrowserRouter>
      );
    }
    
    export default App;
    

    只需要把BrowserRouter替换成HashRouter就行:

    import { HashRouter, Routes, Route } from 'react-router-dom';
    import ListPage from './pages/ListPage';
    
    function App() {
      return (
        <HashRouter>
          <Routes>
            <Route path="/list" element={<ListPage />} />
            {/* 其他路由规则 */}
          </Routes>
        </HashRouter>
      );
    }
    
    export default App;
    
  • 第三步:验证效果
    启动你的React应用后,访问列表页的URL就会变成http://localhost:3000/#/list,完全符合你的需求啦!

小提示

哈希模式特别适合部署在静态托管服务(比如GitHub Pages、Netlify静态站点)的场景,因为哈希部分(#后面的内容)不会被服务器解析,所以不需要额外配置服务器的重定向规则,能避免很多新手遇到的404问题。

内容的提问来源于stack exchange,提问作者Bishnu Bhattarai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:50:59