使用Redux数据流实现Native

时间:2018-05-29 23:33:48

标签: react-native redux react-redux

我最近在实施OAuth时遇到了React Native和Redux的问题,这引起了一些令人头疼的问题。方案如下:

  • 我在React Native应用程序中使用Redux
  • 用户登录并存储刷新令牌和访问令牌。
  • 在另一个组件的动作创建者中,用户需要使用短期访问令牌调用休息端点。
  • 但是,对于每次通话,用户都需要调用getAccessToken()之类的服务方法,该方法将始终返回有效的访问令牌,如果令牌即将到期,则会更新它们并更新商店。

Redux中的数据流是严格单向,这意味着,用户调用动作创建者,而动作创建者又将调用reducer,这将改变商店中的状态,组件将重新启动用新的状态渲染。但是,我无法将组件的状态绑定到访问令牌;每当用户想要进行休息呼叫时,她应该呼叫getAccessToken()以确保她在发送之前收到有效的令牌。

有关如何使用 React Native和Redux 实现此功能的任何建议?谢谢。

1 个答案:

答案 0 :(得分:0)

如何以你的方式做到:

  1. 致电getAccessToken().then(token => myOtherCall(token))
  2. 第二次调用成功后,分配两个动作,一个到相应的减速器,结果另一个,另一个保存新令牌。
  3. 我该怎么做:

    使用redux-saga,我会设置一个每隔X秒刷新一次令牌的循环。如果请求因401状态代码而失败,我会刷新令牌并重试api调用。