reactjs - React Router <Link/> 不工作

标签 reactjs react-router

我可以很好地加载我的组件及其子组件,但我遇到了 <Link/> 的问题。成分。我试图在我的主应用程序组件中使用它,如下所示:

"use strict";
var React = require('react');
var Navigation = require('./navigation');
var UserActions = require('../actions/userActions.js');
var UserStore = require('../stores/userStore.js');

var App = React.createClass({

    getInitialState: function(){
        return { currentUser: "" }
    },

    componentWillMount: function(){
      var user = UserStore.getUser();
      this.setState({currentUser: user })
    },

    render: function(){
       return (
            <div>
                <div id="nav-container">
                  <Navigation user={this.state.currentUser}/> 
                </div>
                <div id="main-content"></div>
            </div>
        );
    }
});

module.exports = App;

这是我的导航组件的相关部分。我可以手动导航到该 URL,一切正常。

"use strict";
var React = require('react');
var Link = require('react-router').Link;


var Navigation = React.createClass({
   render: function(){
      return (
      {(this.isAdmin())?
          <div className="nav-parent">
              <p onClick={this.showChildren}>ADMIN TOOLS</p>
                 <ul className="child-nav">
                     <li><Link to={'admin/logos'}>Logos</Link></li>
                  </ul>
           </div>
         :null}
        )
   }
})

路线如下

     <Route path="/admin" component={require('./components/admin/admin.js')}>
         <Route path="logos" component={require('./components/admin/logos.js')}></Route>
  </Route>

单击 react 生成的链接时,我在控制台中收到以下错误:

bundle.js: Uncaught TypeError: Cannot read property 'push' of undefined

手动导航到该网址效果很好。

最佳答案

尝试将您的路线声明更改为:

<Route path="/admin" component={require('./components/admin/admin.js')}>
    <Route path="logos" component={require('./components/admin/logos.js')} />
</Route>

以及您的链接:

<li><Link to={'/admin/logos'}>Logos</Link></li>

如果这不起作用,请在控制台中单击错误中的更多详细信息箭头,并检查问题发生的位置。

关于reactjs - React Router <Link/> 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417772/

相关文章:

reactjs - 如何使用片段标识符(哈希链接)创建 react 选项卡导航栏链接?

javascript - React - 在表单上提交获取 POST 参数

javascript - react 路由器 v3 : How to load data for the component when the same route with different query params is loaded

javascript - 何时返回函数的值?

javascript - 在链接之间导航

javascript - 如何根据路由有条件地渲染特定的 html 部分

javascript - 使用 React 获取 Rails 关联对象

reactjs - 根据badgeContent中的内容操纵Material UI/React Badge组件的可见性

javascript - 更改组件的路由

javascript - 如何将 onClick 事件添加到我的类扩展之外的变量?