首先,我是React和React-Router的新手 . 我知道每个人的基本知识 . 这是我的情景......
我想在路由(/ login)上有一个单独的登录页面,没有布局 . 当用户登录时,我想将它们路由到/ home . 此主页和每个其他页面(在登录旁边)将重用包含导航栏和侧边栏的布局 .
当用户访问/ login路由时,如何隐藏可重用布局?我是否使用条件或是否有特定的React-Router'WAY'?我在文档中找不到适合我的方案的示例 .
谢谢你们!
如果您问我如何将 navbar 和 sidebar 渲染到除 login 之外的所有组件,则可以检查浏览器 url .
navbar
sidebar
login
url
有很多方法可以做到这一点,但其中一种方法如下:
<Route path="*" render={props => <Layout {...props} />} />
现在将显示所有路线 . 然后在 Layout 内,您可以检查路线,并且只有在路线不等于 login 时才会渲染 .
Layout
render(){ if(this.props.location === "login"){return null} ... }
键入此内容时,您可以直接在React Router中执行此操作,也可以排除某些路由 .
1 回答
如果您问我如何将
navbar
和sidebar
渲染到除login
之外的所有组件,则可以检查浏览器url
.有很多方法可以做到这一点,但其中一种方法如下:
现在将显示所有路线 . 然后在
Layout
内,您可以检查路线,并且只有在路线不等于login
时才会渲染 .键入此内容时,您可以直接在React Router中执行此操作,也可以排除某些路由 .