我有两条路线,一条基本路线和一条客户路线。客户路线采用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?,但实际上并没有用
答案 0 :(得分:0)
我终于想通了。 Hashrouter希望该URL在基本路径之后具有“#/”。因此应该是window.open('#/ customer / $ {customerId}')