react-router 4.0 路由嵌套问题

发布于 2022-09-06 04:16:30 字数 1457 浏览 14 评论 0

app.js(最外面组件)

<Router history={customHistory}>
                <div>
                    <Route  path="/layout" component={MyLayout}/>
                    <Route  path="/login" component={Login}/>
                </div>
</Router>

Login组件中没有layout布局,MyLayout组件中有左右布局的layout。

MyLayout组件

 <Layout>
  <HeaderCustom toggle={this.toggle} collapsed={this.state.collapsed} responsive={responsive} />
                    <Content  style={{ margin: '0 16px', overflow: 'initial' }}>
                             <Route   path="/" component={Home}/>
                            <Route  path="/config" component={Config}/>
                            <Route  path="/products" component={Category}/>
                            <Route  path="/products/:categoryId" component={Products}/>
                            <Route  path="/products/:categoryId/:productId" component={ProductDetail}/>
                            <Route  path="/news" component={News}/>
                            <Route  path="/data" component={Data}/>

                    </Content>
 <Layout>

设想是/layout的时候显示Home组件,/layout/config显示Config组件,/layout/products显示Products组件。可是/layout/config/layout/products 都是显示Home组件。

请问一下该如何修改代码才能显示正确?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

七度光 2022-09-13 04:16:31

<Route path="/layout/config" component={Config}/>
<Route path="/layout/products/:categoryId" component={Products}/>
react-router4需要写完整的路径吧

难如初 2022-09-13 04:16:31
哈哈,抱歉,路径写完整试一下。。
恰似旧人归 2022-09-13 04:16:31

我想问下,route直接写在 Content 组件里面,和用Children来使用有什么区别?

骑趴 2022-09-13 04:16:31

Route exact path="/layout/" component={Home}/>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文