我正在尝试用浏览器历史记录响应路由。从技术上讲,它工作得很好。但是我面临的问题是,每当我单击它时,这些路由都会被附加,例如,
默认是
localhost:portno/postLogin/page1
,第二次单击将变为localhost:portno/postLogin/postLogin/page2
,单击另一个链接将变为localhost:portno/postLogin/postLogin/postLogin/page3
,依此类推
`var Router = require('react-router').Router;
var Route = require('react-router').Route;
var IndexRedirect = require('react- router').IndexRedirect;
var browserHistory = require('react-router').browserHistory;
module.exports = React.createClass({
render:function(){
return(
<Router history={browserHistory}>
<Route path="/" component={preLogin}/>
<Route path="postLogin" component={postLogin}>
<IndexRedirect to="page1" />
<Route path="page1" component={page1}/>
<Route path="page2" component={page2}/>
<Route path="page3" component={page3}/>
</Route>
</Router>
)}
});
我的导航栏页面的内容链接为
<li><Link to={"postLogin/page1"}></Link></li>
<li><Link to={"postLogin/page2"}></Link></li>
我尝试做的一件事是
进行如下所示的链接更改,但这给了我错误,“ React Router没有匹配任何路由”
<li><Link to={"page2"}></Link></li>
我在哪里做错了?
最佳答案
您需要像/
这样开始所有路由<Link to={"/postLogin/page1"}></Link>
。
这样,URL将被附加到基本路由而不是父路由。