【发布时间】:2017-07-04 10:35:46
【问题描述】:
有没有办法在 React Router v4 中嵌套路由?
这行得通:
<Router basename='/app'>
<main>
<Route path='/' component={AppBar} />
<Route path='/customers' component={Customers} />
</main>
</Router>
这不是:
<Router basename='/app'>
<Route path='/' component={AppBar}>
<Route path='/customers' component={Customers} />
</Route>
</Router>
客户组件:
import React, { Component, PropTypes } from 'react'
import styled from 'styled-components'
export default class Customers extends Component {
render () {
return (
<Container>
<h1>Customers</h1>
</Container>
)
}
}
const Container = styled.section`
height: 100%;
padding: 15px;
overflow: auto;
`
【问题讨论】:
-
@ExperimentsWithCode,我主要是想看看是否有办法避免需要包装器(即
<main>),因为<Router>只能有一个孩子。 -
您是否遇到错误,因为我完全按照您的“没有”做,而且效果很好。
-
在第二个例子中,
Customers组件没有渲染。 -
您可以发布您的客户组件吗?
-
@ExperimentsWithCode,已发布。
标签: reactjs react-router react-router-v4