2016-01-30 2 views
0

У меня есть этот маршруты конфиг с react-router:Что не так с этим реагируют маршрутизирует

render((
    <Router history={browserHistory}> 
     <Route path="/" component={PoApp}> 
      <IndexRoute component={Home} /> 
      <Route name="category" path="notices/:category" component={Category}> 
       <Route name="notice" path=":id" component={Content} /> 
       <IndexRoute component={Home} /> 
      </Route> 
     </Route> 
    </Router> 
), document.getElementById('poApp')); 

Для / и notices/:category работает отлично

Но: идентификатор (который был бы/уведомление /: категория /: id) он по-прежнему загружает компонент Category. Что не так?

Я позволяю здесь некоторые примеры того, как должны работать, если я не ясно:

/ => PoApp

/notices/cars => Категория

/notices/cars/2 => Содержание

ответ

2

В соответствии с ответом на аналогичные question вложенные маршруты предназначены для встраивания вложенных компонентов и не ссылаться на разные компоненты на вложенных маршрутах.

В вашем случае компонент Category должен иметь место для дочернего компонента (например, <RouteHandler /> или {this.props.children} в зависимости от версии вашего маршрутизатора). Затем с вложенным маршрутом соответствующий дочерний компонент будет встроен в родительский компонент.

Смежные вопросы