处理redux + axios API请求操作的最佳实践

时间:2018-03-11 16:50:21

标签: reactjs redux axios redux-middleware

所以我的情况是这样的:

  1. 我有两种类型的请求:“公共”请求,不需要授权信息,以及“授权”请求。
  2. 对于授权请求,在实际发送每个请求之前,我必须将auth信息放入标题中。请求完成后,从服务器返回的新访问令牌应保存到该状态。
  3. 所以我的很多行动目前都是这样的:

    if msg != None:
        try:
            socket.send(msg)
        except Exception as e:
             print(e, e.errno)
    

    我做了一些研究,有两种可行的方法:Axios拦截器,或编写Redux中间件。

    我觉得Axios拦截器,至少对于响应部分来说,不是最好的解决方案,因为它只是对响应数据做一些事情,而我需要在完成更新新访问后再发出一个动作 - 令牌,我不想导出商店手动调度我的行为,这是一种反模式。 (正如我提到的那样,流程是:将auth info放入headers => send request =>如果成功,则将新的访问令牌保存到Redux商店供以后使用,然后调度其他操作;如果失败,请执行一些操作错误处理)。

    然后我发现了这个lib,但我觉得我太愚蠢了解文档:

    https://github.com/svrcekmichal/redux-axios-middleware

    有人可以给我一个如何做到这一点的例子吗?使用lib和从头开始编写自定义中间件对我来说都很好。谢谢!

0 个答案:

没有答案