【问题标题】:Redux use token in every API requestRedux 在每个 API 请求中使用令牌
【发布时间】:2017-01-04 22:09:16
【问题描述】:
我正在尝试使用 React Native、Redux 和 Redux Saga 开发一个应用程序。
我有以下登录流程:
- 登录表单
- 登录尝试操作
- 登录传奇
- API 调用
- Login Reducer 存储身份验证令牌
我有多个容器和组件,每个容器和组件都执行操作,而这些操作又让 sagas 执行 API 调用。
在保持代码干净和可重用的同时,将令牌从商店传递到 API 调用方法的正确方法是什么?
【问题讨论】:
标签:
reactjs
react-native
store
refluxjs
redux-saga
【解决方案1】:
我对此的解决方案:使用您自己的函数包装 fetch() 并将其导出。将您的新 fetch 与 redux 连接并在 sagas 中使用。
【解决方案2】:
您可以创建 API saga(s),它将处理来自其他应用程序 saga 的所有 API 操作。在此处使用select 效果从存储中获取令牌并将其传递给API Call。将API Call 与此传奇分开,以获得更多抽象和 DRY 原则。有几个选项可以调用这个 saga:直接使用 yield* 或通过抛出 redux 操作。