javascript - React 路由组件处理所有 "/"路由,除了 "/login"

标签 javascript reactjs react-router-v4

当我输入 /login 时,仪表板组件也会呈现。我需要在登录时省略仪表板组件。

Exact 属性不适合,因为 Dashboard 具有嵌套路径,如 /dashboard/users/dashboard/settings

<BrowserRouter>
    <Route path='/'>
         <div>
             <Route path='/login'   component={Login}       exact   />
             <Route path='/'        component={Dashboard}           />
         </div>
    </Route>
</BrowserRouter>   

最佳答案

您可以使用 Switch 来呈现第一个匹配的 Route

<BrowserRouter>
    <Route path='/'>
         <div>
            <Switch>
              <Route path='/login'   component={Login}       exact   />
              <Route path='/'        component={Dashboard}           />
            </Switch>
         </div>
    </Route>
</BrowserRouter>

关于javascript - React 路由组件处理所有 "/"路由,除了 "/login",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45591165/

相关文章:

javascript - Chart.js - (中间值).Doughnut 不是一个函数

PHP 里面的 javascript 函数

javascript - 像 React 中的 Bootstrap 模态行为

javascript - 将表单输入值传输到 var

javascript - 找不到模块 : Error: Can't resolve 'crypto' and Cant resolve 'fs'

javascript - Redux 应用程序中的 React Router 4 导航模式

javascript - ReactJS 身份验证不起作用,重定向到登录页面失败

javascript - d3 v4 模块从 require 切换到 import

closures - 在创建对象的函数中引用 var

javascript - 如何获取两个列表,允许用户从每个列表中进行选择以创建两个新列表并将新列表中的数据组合成 redux 中的单个结果