Redux 在每个 API 请求中使用令牌
Redux use token in every API request
我正在尝试使用 React Native、Redux 和 Redux Saga 开发应用程序。
我有以下登录流程:
- 登录表单
- 登录尝试操作
- 登录 Saga
- API 通话
- Login Reducer 存储授权令牌
我有多个容器和组件,每个容器和组件都执行操作,而这些操作又让 sagas 执行 API 调用。
将令牌从商店传递到 API 调用方法同时保持代码清洁和可重用的正确方法是什么。
我的解决方案是:用您自己的函数包装 fetch() 并将其导出。将您的新 fetch 与 redux 连接起来并在 sagas 中使用它。
您可以创建 API 传奇,它将处理来自其他应用传奇的所有 API 操作。在此处使用 select
效果从商店获取令牌并将其传递给 API Call
。将 API Call
与这个传奇分开,以获得更多的抽象和 DRY 原则。有几个选项可以调用此传奇:直接使用 yield*
或通过抛出 redux 操作。
我正在尝试使用 React Native、Redux 和 Redux Saga 开发应用程序。
我有以下登录流程:
- 登录表单
- 登录尝试操作
- 登录 Saga
- API 通话
- Login Reducer 存储授权令牌
我有多个容器和组件,每个容器和组件都执行操作,而这些操作又让 sagas 执行 API 调用。 将令牌从商店传递到 API 调用方法同时保持代码清洁和可重用的正确方法是什么。
我的解决方案是:用您自己的函数包装 fetch() 并将其导出。将您的新 fetch 与 redux 连接起来并在 sagas 中使用它。
您可以创建 API 传奇,它将处理来自其他应用传奇的所有 API 操作。在此处使用 select
效果从商店获取令牌并将其传递给 API Call
。将 API Call
与这个传奇分开,以获得更多的抽象和 DRY 原则。有几个选项可以调用此传奇:直接使用 yield*
或通过抛出 redux 操作。