我试图了解react-router,但我似乎无法找到从URL中删除/#/的方法。我的用例非常简单,我只想在两页之间进行路由。这是我的路线:
var React = require('react'),
Router = require('react-router'),
Route = Router.Route,
App = require('./app.jsx'),
Home = require('./home.jsx'),
Test = require('./test.jsx')
var routes = (
<Route name="app" handler={App}>
<Route name="home" path="/" handler={Home}/>
<Route name="test" path="/test" handler={Test}/>
</Route>
)
Router.run(routes, Router.HashLocation, function(Root){
React.render(
<Root />,
document.body
)
})
我过去一直在使用ui-router和Angular,所以我期待在某个地方需要添加,但我不确定。
这是一个静态站点(托管在GitHub上),因此我无法更改服务器。由于它曾经与ui-router一起工作,我确信有办法让它也可以工作。
谢谢:)
答案 0 :(得分:1)
这里是documentation on HistoryLocation。
您还需要配置服务器以相应地处理请求(因此它知道为您的路由提供服务,而不是保存到服务器的文件)。
Router.run(routes, Router.HistoryLocation, function (Root) {
React.render( <Root/>, document.body );
});