javascript - 这个 react 路线有什么问题

标签 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 组件。怎么了?

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

/ => PoApp

/notices/cars => 类别

/notices/cars/2 => 内容

最佳答案

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

就您而言,Category组件应该有一个子组件的占位符(例如<RouteHandler />{this.props.children},具体取决于您的路由器版本)。然后通过嵌套路由,适当的子组件将嵌入到父组件中。

关于javascript - 这个 react 路线有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35106586/

相关文章:

JavaScript Object.keys 返回空数组

javascript - 将 scrape-it npm 的页面结果分配给变量会返回 Promise { <pending> }

javascript - 如何在组件外调度 redux Action ?

reactjs - 如果您必须拆分代码以提高性能,那么单页大型应用程序的意义何在?

javascript - React Router 的 v6 history.push ('/' ) 给出错误 "undefined (reading ' pathname')"- url 更改,但页面保持不变

javascript - Facebook Javascript SDK - 是否有一次回调函数 fb :likes have been loaded?

html - 如何水平对齐子组件以占据容器宽度的一定百分比?

javascript - 从主组件 React Router 4 推送到另一个 View

javascript - React Router 仅当从 root url 启动时才能够进行路由

javascript - react native 如何为图片指定多个uri?