如何在React Redux中构建一个使用REST API的大型应用程序?

时间:2017-09-12 18:01:28

标签: api reactjs redux react-redux

我已经研究过使用redux-thunk中间件在Redux中使用API​​。我理解从Redux调用API的流程,我理解如何构造我的状态片段以反映API调用的状态,即获取,成功或失败。我现在想知道的是:如何构建一个非常大的应用程序来避免样板代码?从我收集的文档中,单个API调用需要:

  1. 行动创作者发送API_CALL_FETCHING行动和API_CALL_SUCCESS行动或API_CALL_FAIL行动
  2. 用于处理每项操作的Reducer代码
  3. 您所在国家/地区致力于反映API调用状态的一部分
  4. 假设我有一个允许对其进行基本CRUD操作的资源,天真地意味着我应该编写12个不同的操作(每次调用4次crud操作* 3个API状态操作)。现在想象一下,我有许多资源允许CRUD操作,并且这开始变得庞大。

    是否有任何雄辩的方法来压缩进行许多API调用所需的代码?或者有一个大型应用程序只需要在这个领域重复多次?

    谢谢!

1 个答案:

答案 0 :(得分:1)

是。有许多方法可以抽象出API调用的过程,以及许多现有的库来帮助解决这个问题。

一般来说,您可以编写“工厂函数”,其中包含一些参数集(API端点,数据描述等),并返回一组操作,缩减器和其他逻辑,以实际进行API调用和处理数据

有关现有示例,请参阅Action/Reducer Generators#Network RequestsEntity/Collection ManagementRedux addons catalog部分。在Redux之上还有一些更有意的抽象层,如redux-tilesKea