将漂亮的 URL 与 react-router 一起使用?
Using pretty URLs with react-router?
我正在尝试掌握 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
)
})
我过去一直在 Angular 中使用 ui-router,所以我希望我需要在某处添加一个 prop,但我不确定。
这是一个静态站点(托管在 GitHub 上),因此我无法更改服务器。因为它曾经与 ui-router 一起工作,所以我相信有办法让它也能工作。
谢谢:)
这是documentation on HistoryLocation。
您还需要配置您的服务器以相应地处理请求(因此它知道服务于您的路线,而不是保存到服务器的文件)。
Router.run(routes, Router.HistoryLocation, function (Root) {
React.render( <Root/>, document.body );
});
我正在尝试掌握 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
)
})
我过去一直在 Angular 中使用 ui-router,所以我希望我需要在某处添加一个 prop,但我不确定。
这是一个静态站点(托管在 GitHub 上),因此我无法更改服务器。因为它曾经与 ui-router 一起工作,所以我相信有办法让它也能工作。
谢谢:)
这是documentation on HistoryLocation。
您还需要配置您的服务器以相应地处理请求(因此它知道服务于您的路线,而不是保存到服务器的文件)。
Router.run(routes, Router.HistoryLocation, function (Root) {
React.render( <Root/>, document.body );
});