关于 React 服务端渲染与 jwt 验证的一个疑惑

假设有这几个页面

/login 登录页面

/protected 受保护的页面,未登录用户不能查看

我在服务端写了逻辑,加入用户是未登录状态的话会重定向到 /login,然后服务端渲染 /login 页面的 html 的代码返回。

比如说我在 /login 页面登录了,然后就可以访问 /protected 页面了,并且我把 jwt token 存储到 localStorage 里面供下次使用。

但是,加入这个时候我去刷新(F5)页面 /protected,岂不是会直接定向到 /login 页面?

问这个问题主要是想知道 jwtReact 服务端渲染怎么搭配啊,难道是访问 /protected 页面,服务端就去渲染这个页面,然后到客户端再去判断有没有 token 再去重定向?(可是我还要数据直出呀,需要用户登录状态)。。。

阅读 3.5k
2 个回答

简单来说你有一个根路径 /,在这里做判断后重定向到login或者protected。

onEnter的时候判断state中是否存在user信息,如果不存在则重定向到/login

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题