在web,移动应用程序之间共享redux商店

时间:2017-07-01 17:58:51

标签: reactjs react-native redux

我试图在网络,移动之间分享redux根据这篇文章https://medium.com/kuralabs-engineering/reactive-core-architecture-for-react-native-and-react-applications-d590daf4ef8a这里我有一个问题,我应该如何处理针对网络,移动(反应原生)应用程序的Ajax请求?什么是最好的解决方案?

1 个答案:

答案 0 :(得分:0)

我非常喜欢使用Redux Observable的史诗方法。这允许您在Redux存储中调度操作,因此使用史诗可以发生副作用。由于行动是DTO,因此它们已被抽象化。您可以像这样定义HTTP_ACTION:

{
  type: 'HTTP_REQUEST',
  payload: {
    method: 'POST',
    url: '/api/some-url',
    body: {
      id: 'some-id'
    },
    responseAction: 'HTTP_REQUEST_COMPLETED'  // Some unique action type here that will be caught by a reducer.
  }
}

这种方法有许多优点。它将动作创建者与任何副作用分开。这使它们易于测试。它还将所有副作用放在应用程序的一部分:史诗。这是因为 Redux Observable 取代了Redux中的所有其他副作用中间件(如redux-thunk或redux-promise)。这允许您根据特定于平台的内容替换史诗。

缺点是你需要学习rx-js,这可能有些困难。测试史诗也有点复杂,但完全可行。

显然,还有其他解决方案可供选择。但你应该至少调查一下,看看它是否适合你。祝你好运。