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

问题描述 投票:0回答:1

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

在我的应用程序中,我从服务器请求数据。这些数据不是列表或任何东西,它基本上只是一堆键值对,然后应该显示给用户。这里描述了类似的用例 我应该将搜索结果存储在 redux 存储中吗?

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

我搜索了几个博客,但它们只描述了“待办事项列表”的典型用例,这不适用于我的情况。最后我只有一个Reducer-Case“SET_NEW_RESULTS_FROM_SERVER”,这有点可疑。

javascript redux flux
1个回答
0
投票

您应该对整个请求生命周期进行建模:

  1. REQUEST_RESULTS_FROM_SERVER
  2. REQUEST_RESULTS_FROM_SERVER_SUCCESS
  3. REQUEST_RESULTS_FROM_SERVER_FAILURE
    .

为什么?加载指示器、向用户显示的错误消息以及其他原因。

存储区使用类似

null
的内容进行初始化(因此您的视图可以在获取任何内容之前呈现),并且当响应包含有效数据时,您将其保存在那里(“一堆键值对”听起来像是一个普通对象我)。

你的数据不一定需要自己的reducer。当然取决于您的应用,我们不知道。

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

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

示例:

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

© www.soinside.com 2019 - 2024. All rights reserved.