首页 文章

React Router v4 - 如何动态使用布局

提问于
浏览
0

首先,我是React和React-Router的新手 . 我知道每个人的基本知识 . 这是我的情景......

我想在路由(/ login)上有一个单独的登录页面,没有布局 . 当用户登录时,我想将它们路由到/ home . 此主页和每个其他页面(在登录旁边)将重用包含导航栏和侧边栏的布局 .

当用户访问/ login路由时,如何隐藏可重用布局?我是否使用条件或是否有特定的React-Router'WAY'?我在文档中找不到适合我的方案的示例 .

谢谢你们!

1 回答

  • 0

    如果您问我如何将 navbarsidebar 渲染到除 login 之外的所有组件,则可以检查浏览器 url .

    有很多方法可以做到这一点,但其中一种方法如下:

    <Route path="*" render={props => <Layout {...props} />} />
    

    现在将显示所有路线 . 然后在 Layout 内,您可以检查路线,并且只有在路线不等于 login 时才会渲染 .

    render(){
      if(this.props.location === "login"){return null}
      ...
    }
    

    键入此内容时,您可以直接在React Router中执行此操作,也可以排除某些路由 .

相关问题