这反应路线有什么问题

时间:2016-01-30 20:12:56

标签: javascript reactjs react-router

我的路线配置为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(可能是/ notices /:category /:id)它仍会加载Category组件。有什么问题?

如果我不清楚的话,我在这里举一些如何工作的例子:

/ =&gt; PoApp

/notices/cars =&gt;分类

/notices/cars/2 =&gt;含量

1 个答案:

答案 0 :(得分:2)

根据类似question的答案,嵌套路由用于嵌入嵌套组件,而不是在嵌套路由中引用不同组件。

在您的情况下,Category组件应具有子组件的占位符(如<RouteHandler />{this.props.children},具体取决于您的路由器版本)。然后使用嵌套路由将适当的子组件嵌入到父组件中。