我的React App中有3个页面以及以下路径: 登录(/) 仪表板(/仪表板) 项目(/项目) 我希望仪表板和项目页面有一个标题,但登录页面不应该有任何标题. 目前路线看起来像这样: Router Route pa
>登录(/)
>仪表板(/仪表板)
>项目(/项目)
我希望仪表板和项目页面有一个标题,但登录页面不应该有任何标题.
目前路线看起来像这样:
<Router>
<Route path="/" component={Login}>
<Route path="/dashboard" component={Dashboard} />
<Route path="/projects" component={Projects} />
</Router>
我创建了一个名为Shell的组件,它只提供标题.如何设置我的路由器,以便Shell是Dashboard和Projects的父组件,而不是Login页面?
编辑1
我想知道是否可以使用像这样的无路径父类来围绕子组件呈现Shell:
<Router>
<Route path="/" component={Login}>
<Route component={Shell}>
<Route path="/dashboard" component={Dashboard} />
<Route path="/projects" component={Projects} />
</Route>
</Router>
编辑2
刚试过上面的改变就行了!阅读文档,路径不是必需的道具.所以在上面的代码中< Route component = {Shell}>是完全合法的.
编辑1中的内容是正确的.<Router>
<Route component={Login}>
<Route component={Shell}>
<Route path="/dashboard" component={Dashboard} />
<Route path="/projects" component={Projects} />
</Route>
</Router>
在您的< Shell>中组件,你可以这样做:
import Header from './Header';
...
render() {
return (
<div id="shell">
<Header />
{this.props.children}
</div>
);
}
...
