我是新来的反应,并试图把整个路线的事情下来。我有一个页面,我想用它呈现多条路线。
我的主index.js文件如下所示:
ReactDOM.render(
<BrowserRouter>
<div>
<Switch>
<Route path="/adminDash" exact component={AdminDashMain}/>
<Route path="/admin/ClientSearch" exact component={ClientDetailsMain}/>
<Route path="/" exact component={LogIn}/>
</Switch>
</div>
</BrowserRouter>
, document.getElementById('root'));
在客户端搜索主程序中,我有3个组件
class ClientDetailMain extends React.Component {
render() {
return(
<div>
<Header />
<SubHeader username={this.props.match.params.username} />
<Display username={this.props.match.params.username}/>
</div>
);
}
}
export default withRouter(ClientDetailMain);
我在用
<Display/>
作为一个集装箱,在里面我想有其他的路线,这样一个人可以去
/admin/ClientSearch/refined
/admin/ClientSearch/general
/admin/ClientSearch/fixed
我发现
/admin/ClientSearch
无论如何都将匹配,因此标题和副标题显示在所有3个路由上,但是我的路由写为:
const Display = () =>{
return(
<div>
<Route path ='/admin/ClientSearch/refined' component={<Refined/>
<Route path ='/admin/ClientSearch/general' component={<General/>
<Route path ='/admin/ClientSearch/fixed' component={<Fixed/>
</div>
)
};
export default withRouter(ClientDisplay);
没有显示任何内容。我应该这样写吗?当我链接到这3个和其中的一个时,将显示标题和副标题,但个人路由中的组件不会显示。
例如
'/admin/ClientSearch/fixed'
显示标题和副标题,但不显示其自身组件。