为了账号安全,请及时绑定邮箱和手机立即绑定

React-Route 4.0 实现一个简单的路由登录拦截

React-Route 4.0 实现一个简单的路由登录拦截

哈士奇WWW 2018-12-12 18:13:11
React-Route 4.0 舍去了路由钩子为了实现在需要登录才能进入某个路由,说白了就是前端路由拦截看例子实现的好像有点乱,自己这样实现了一下,不知道可以不可以,功能可以的
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

楼主的这种实现复杂化了,官网的那个例子不是很简洁吗,在Route的render方法内做认证判断,从而决定是否渲染组件还是重定向到登录路由,不需要重写Route的原有方法。



const PrivateRoute = ({ component: Component, ...rest }) => (

  <Route {...rest} render={props => (

    fakeAuth.isAuthenticated ? (

      <Component {...props}/>

    ) : (

      <Redirect to={{

        pathname: '/login',

        state: { from: props.location }

      }}/>

    )

  )}/>

)


查看完整回答
反对 回复 2019-01-20
  • 1 回答
  • 0 关注
  • 2117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信