单击导航栏,每次都会附加子路径

时间:2016-07-20 10:16:50

标签: javascript reactjs react-router

我正在尝试用浏览器历史记录做出反应路由。从技术上讲,它的工作非常好。但是我面临的问题是,每次点击它都会附加路线会得到相同的路径,例如,

默认情况下,如果是               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>

我在哪里做错了?

1 个答案:

答案 0 :(得分:1)

您需要从/开始所有路线 <Link to={"/postLogin/page1"}></Link>
这样,url将附加到基本路由而不是父路由。