2015-06-08 57 views
2

我在我的應用程序中使用反應路由器。它改變網址是這樣的:我如何更改哈希前綴/格式的反應路由器

xxx/index.html#/a1
xxx/index.html#/a2

,但我想這樣:

xxx/index.html#!/a1
xxx/index.html#!/a2

,因爲我的舊應用程序配置的。
我不想更改界面。

我曾嘗試喜歡這個 <Route path="!/"> <Route name="a1" path="a1" handler={a1}/> <Route name="a2" path="a2" handler={a2}/> </Route> 或本 <Route path="!"> <Route name="a1" path="a1" handler={a1}/> <Route name="a2" path="a2" handler={a2}/> </Route> 但他們都得到

xxx/index.html#/!/a1

我怎麼能做到這一點?

回答

0

你可以實現你自己的CustomLocation
我從來沒有這樣做過,但你可以看看HashLocation的實現,並改變必要的。

然後你可以只將它傳遞給Router.run

Router.run(routes, MyCustomLocation, function (Handler) { 
    React.render(<Handler/>, document.body); 
}); 
+0

當我訪問https://github.com/rackt/react-router/blob/master/modules/locations/HashLocation.js。我得到一個404 – p2227

+0

它看起來像react-router改變了文件的位置。將其更改爲永久鏈接。 –