为401错误做出反应+ redux + redux-observable +全局处理程序?

时间:2017-02-09 15:42:01

标签: reactjs redux redux-observable

如何在redux和redux-observable中处理unauthorised的一些新手问题

我有一个应用程序,其中必须对用户进行身份验证,以便向api发出请求 如果用户提供无效的令牌,则端点返回401 http错误代码。

那么我如何优雅地处理这个问题(我正在使用fetch)?

选项1:

  • 创建某种功能,我将在epics中包装所有api调用,将401响应转换为NotLoggedInAction
  • 之类的内容
  • 创建一个处理NotLoggedInAction的reducer并在用户未登录的状态下设置标志
  • 订阅根组件(?)中的状态更改并检查未登录标志
  • 如果没有登录标志到达,将用户重定向到登录页面(登录页面是外部应用程序,所以我只使用window.location.href?)

这个选项有点灵活,因为在重定向之前我可以显示一些弹出窗口,例如“嘿你的会话过期等等” 但它也不容易出错(我必须总是将错误处理连接到每个调用,并在每个epic中添加依赖关系NotLoggedInAction

选项2:
  - 在combineEpics中使用do并注意错误   - 如果401到达,只需将用户重定向到登录页面(通过相同的window.location.href

对我来说这看起来更简单,但这更像是'黑客'?

我走对了路吗?是更好的选择吗?

0 个答案:

没有答案