如何使用React HashRouter作为路线查询参数?

时间:2019-12-12 21:27:11

标签: reactjs react-router

我有两条路线,一条基本路线和一条客户路线。客户路线采用customerId参数。

  <HashRouter>
    <Switch>
      <Route path="/mapper/:mappingId/" exact component={Mapper}/>
      <Route path="/" exact component={App} />
    </Switch>
  </HashRouter>

然后在react组件中,我这样称呼它

      window.open(`/customer/${customerId}`)
(已更新,仍然无效)

但是当我浏览它时,它只是转到了App组件。我必须使用HashRouter,因为react应用程序包装在Electron中。 BrowserRouter可在网络上运行

我导航时得到的网址是: http://localhost:3000/customer/ca023754-bb75-4f64-a19c-958525b53e12#/ 我还尝试在Route / customer /:customerId /中添加反斜杠,但效果不佳

我已经读过How to use React Router with Electron?,但实际上并没有用

1 个答案:

答案 0 :(得分:0)

我终于想通了。 Hashrouter希望该URL在基本路径之后具有“#/”。因此应该是window.open('#/ customer / $ {customerId}')