单击后反应路由器没有获得路线

react router not getting route after click

我的 routes.js 是这样的:

const routes =  (
  <Route path="/" component={App}>
        <Route path="/login" component={Login} />
        <Route path="/one" component={One} />
        <Route path="/two" component={Two} />
  </Route>
)
export default routes

我在 App 组件中有一个头文件,我的头文件如下所示:

class Header extends Component {
  render() {
    return (
      <div>
        <h3><Link to={`/one`}>One</Link></h3>
        <h3><Link to={`/two`}>Two</Link></h3>
      </div>
    )
  }
}

export default Header

当我 运行 localhost:3333 时,它会转到包含 Header 以及 OneTwoApp 页面。但是当我点击它时,它没有显示 OneTwo.

的内容或组件

我在路由器中缺少什么?

需要帮助。

我猜你错过了 this.props.children。所以你的组件应该看起来像

class Header extends Component {
  render() {
    return (
      <div>
        <h3><Link to={`/one`}>One</Link></h3>
        <h3><Link to={`/two`}>Two</Link></h3>
        <div>{this.props.children}</div> // this is the way how React renders different components based on route 
      </div>
    )
  }
}

export default Header

React-Route link 获取更多信息。 我希望它能帮助你。

谢谢