Javascript React路由器中嵌套路由中的默认组件

Javascript React路由器中嵌套路由中的默认组件,javascript,reactjs,react-router,react-jsx,jsx,Javascript,Reactjs,React Router,React Jsx,Jsx,在React路由器中,我有一个嵌套路由 <Route path='about' component={{main: About, header: Header}}> <Route path='team' component={Team} /> </Route> 及 但它不起作用 我的About组件如下所示 class About extends React.Component { render () { return ( &l

在React路由器中,我有一个嵌套路由

<Route path='about' component={{main: About, header: Header}}>
  <Route path='team' component={Team} />
</Route>


但它不起作用

我的About组件如下所示

class About extends React.Component {
  render () {
    return (
      <div>
        <div className='row'>
          <div className='col-md-9'>
            {this.props.children}
          </div>
          <div className='col-md-3'>
            <ul className='nav nav-pills nav-stacked'>
              <li className='nav-item'><IndexLink className='nav-link' to='/about' activeClassName='active'>About</IndexLink></li>
              <li className='nav-item'><Link className='nav-link' to='/about/team'>Team</Link></li>
            </ul>
          </div>
        </div>
      </div>
    );
  }
}
类关于扩展React.Component{
渲染(){
返回(
{this.props.children}
  • 关于
  • 团队
); } }
REACT路由器4更新 默认路由是没有路径的路由

import BrowserRouter from 'react-router-dom/BrowserRouter';
import Switch from 'react-router-dom/Switch';
import Route from 'react-router-dom/Route';

<BrowserRouter>
  <Switch>
    <Route exact path='/about' component={AboutIndex} />
    <Route component={AboutIndex} /> // <--- don't add a path for a default route
  </Switch>
</BrowserRouter>

如果您仍然需要main和header组件,只需根据您的需要将它们添加为父组件、子组件或同级组件即可

这是什么意思?我确实需要它们{main:About,header:header}的目的是什么?如果它们只是子组件,请将它们放在about组件中。如果“About”是父组件,请将其放在组件属性中以代替“AboutIndex”,并在“About”组件中添加“AboutIndex”。
class About extends React.Component {
  render () {
    return (
      <div>
        <div className='row'>
          <div className='col-md-9'>
            {this.props.children}
          </div>
          <div className='col-md-3'>
            <ul className='nav nav-pills nav-stacked'>
              <li className='nav-item'><IndexLink className='nav-link' to='/about' activeClassName='active'>About</IndexLink></li>
              <li className='nav-item'><Link className='nav-link' to='/about/team'>Team</Link></li>
            </ul>
          </div>
        </div>
      </div>
    );
  }
}
import BrowserRouter from 'react-router-dom/BrowserRouter';
import Switch from 'react-router-dom/Switch';
import Route from 'react-router-dom/Route';

<BrowserRouter>
  <Switch>
    <Route exact path='/about' component={AboutIndex} />
    <Route component={AboutIndex} /> // <--- don't add a path for a default route
  </Switch>
</BrowserRouter>
<Router history={browserHistory}>
  <Route path='about' component={AboutIndex}>
    <IndexRoute component={AboutIndex} />
    <Route path='team' component={Team} />
  </Route>
</Router>