相关疑难解决方法(0)

重定向到登录时的上一个路径-React Router v4

我正在使用React Router v4并尝试实现一项功能,无论用户单击什么路由,他都会转到登录页面,即如果他尚未登录。

但是登录后,他被重定向到他尝试在登录前访问的同一页面

我已经使用以下代码设法对其中的两条路线进行了此操作,但不确定这是否是最佳方法

<Route path="/dashboard" render={(props) => (
    auth ? 
    (<MainDash props={this.props} />) 
    : 
    (<Redirect to="/login"/>)
    )}
/>
<Route exact path="/customers" render={(props) => (
    auth ? 
    (<MainApp />) 
    : 
    (<Redirect to="/login"/>)
    )}
/>
<Route exact path="/staff" render={(props) => (
    auth ? 
    (<MainApp />)
    : 
    (<Redirect to="/login"/>)
    )}
/>
<Route path="/login" component={Login} />
<Route path="/logout" component={Login} />
Run Code Online (Sandbox Code Playgroud)

现在,尽管这可以正常工作,但我不想为所有不同的路线重复一次相同的代码。所以有更好的方法吗?

现在,注销后,它什么也没显示,我希望它显示登录页面。因此,我也添加了以下几行,以便用户注销后立即显示登录页面。

<Route path="/login" component={Login} />
      <Route path="/logout" component={Login} />
Run Code Online (Sandbox Code Playgroud)

但是还有一个问题->尽管注销后它确实显示了登录组件(仍然将路由显示为'/ logout'),但它带我回到了登录表单(这次路由是'/ login'),并且从该路由登录将我带到仪表板。现在,为什么会这样呢?

希望能对此有所帮助,因为我仍在学习React Router

authentication reactjs react-router

7
推荐指数
3
解决办法
4537
查看次数

标签 统计

authentication ×1

react-router ×1

reactjs ×1