我正在尝试用浏览器历史记录响应路由。从技术上讲,它工作得很好。但是我面临的问题是,每当我单击它时,这些路由都会被附加,例如,

默认是
              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将被附加到基本路由而不是父路由。

07-24 16:11