Redux 在每个 API 请求中使用令牌

Redux use token in every API request

我正在尝试使用 React Native、Redux 和 Redux Saga 开发应用程序。

我有以下登录流程:

  1. 登录表单
  2. 登录尝试操作
  3. 登录 Saga
  4. API 通话
  5. Login Reducer 存储授权令牌

我有多个容器和组件,每个容器和组件都执行操作,而这些操作又让 sagas 执行 API 调用。 将令牌从商店传递到 API 调用方法同时保持代码清洁和可重用的正确方法是什么。

我的解决方案是:用您自己的函数包装 fetch() 并将其导出。将您的新 fetch 与 redux 连接起来并在 sagas 中使用它。

您可以创建 API 传奇,它将处理来自其他应用传奇的所有 API 操作。在此处使用 select 效果从商店获取令牌并将其传递给 API Call。将 API Call 与这个传奇分开,以获得更多的抽象和 DRY 原则。有几个选项可以调用此传奇:直接使用 yield* 或通过抛出 redux 操作。