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