如何为服务器响应构建redux存储

时间:2017-09-28 10:58:40

标签: javascript redux flux redux-store

这个问题可能被认为是“基于意见的”,但我只是在寻找灵感,所以在这里:

在我的应用中,我从服务器请求数据。这些数据不是列表或任何东西,它基本上只是一堆键值对,然后应该显示给用户。这里描述了一个类似的用例Should I store search result in redux store?

现在的问题是:如何将这些数据存储在redux-store中。它有自己的减速机吗?或者我将它存储在某种AppState-Store中,它本身就是基于键值的?

我搜索了几个博客,但他们只描述了“ToDo-List”的典型用例,这在我的案例中并不适用。最后我只有一个Reducer-Case“SET_NEW_RESULTS_FROM_SERVER”,有点感觉不确定。

1 个答案:

答案 0 :(得分:0)

您应该为整个请求生命周期建模:

  1. REQUEST_RESULTS_FROM_SERVER
  2. REQUEST_RESULTS_FROM_SERVER_SUCCESS
  3. REQUEST_RESULTS_FROM_SERVER_FAILURE
  4. 为什么呢?加载指示器,向用户显示的错误消息以及其他原因。

    商店初始化类似于null(因此您的视图可以在获取任何内容之前呈现),并且当响应包含有效数据时,您将其保存在那里("一堆键值对& #34;对我来说听起来像一个普通的对象。)

    您的数据不一定需要自己的减速机。取决于您的课程申请,我们不知道。

    此外,当你在redux中通过ajax获取数据时,reducer通常需要跟踪:

    • 结果,您在响应中的有效负载
    • REQUEST_RESULTS_FROM_SERVER_FAILURE
    • 的任何错误消息
    • 请求是否正在进行中 - 因此您的视图可以相应地进行调整

    示例:

    { result: null, error: null, isLoading: false }