我的 React 应用程序中有 3 个页面以及以下路线:
- 登录 (/)
- 仪表板(/仪表板)
- 项目 (/projects)
我希望仪表板和项目页面有一个标题,但登录页面不应该有任何标题。
目前的路线是这样的:
<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
刚刚尝试了上面的更改,它起作用了!阅读文档path
不是必需的props。所以在上面的代码中<Route component={Shell}>
是完全合法的。