在Redux中思考

时间:2018-05-06 18:41:07

标签: javascript design-patterns redux flux

我在设计示例App时试图了解redux。我混淆了状态与数据模型的概念。

注意:我没有使用Reactjs。

示例应用程序的背景

2个表格网格:

网格A:我网站上的会员列表。

网格B:在网格A中选择的成员的所有订单的列表。

  • 因此,此应用的最终用户一次只能从网格A中选择一个成员。
  • 最终用户还可以在网格A中输入用户名,我的后端服务将返回该成员的详细信息(对于网格A)&所有过去的订单(网格B)。

Redux问题

  1. 我的后端服务对我在网格A或B中列出项目的顺序一无所知。谁应该维护网格中项目的顺序?是商店还是组件的责任?

  2. 谁维护在网格A中点击哪个成员? ?我的后端服务,给我所有的成员和他们的所有订单。它对UI上选择的成员一无所知。

  3. 是不是很好的做法,让组件保留这些信息,然后在从商店获取数据时刷新UI?

1 个答案:

答案 0 :(得分:0)

Redux用于保存您当前的应用状态。但是如何展示它取决于你的组件。

  1. 实际上它取决于应用程序。有些应用程序有很多类似的表,并且有组件库,其中排序逻辑在组件内部处理。但是,如果您的所有应用都基于几个表,那么向商店添加一个属性来指示您的表应该如何排序是有意义的,例如:membersSortingType: [asc, desc, none]。然后将membersmembersSortingType传递给执行排序的函数,并返回一个新的membersList,然后将其传递给您的组件。
  2. 同样在这里,当您点击某个项目时,您可以将其保存到商店,如:currentMember: id,并获取应在您的组件中呈现的数据,您只需将您的会员ID和所有订单传递给一个将进行一些过滤的函数。因此,每当您选择新成员时,一切都会自动更新。