在更新不同组件时保留redux存储

时间:2017-07-26 08:32:17

标签: reactjs redux

这是我的reducer文件。

{{1}}

现在,当我单击未映射的过滤器时,它会显示已过滤的数据,但是当我单击allProducts后它仍未提供映射时,它仍会提供未映射的数据,因为在unmap函数中,状态(menu_items)已更新。所以如何显示原始数据所有产品。在我的用户界面中,我正在使用(this.props.menu_items),所以我只能更新它。Here is the image of UI 我想要做的是,当点击类别时,它应显示所有产品并为其取消映射,对于Addons也是如此。

2 个答案:

答案 0 :(得分:1)

我认为在未映射的项目请求中更改menu_items时,您会犯一个概念上的错误。考虑你的redux存储就好像它是某种古老的SQL数据库并相应地设计它是非常有用的。您不会从数据库中删除不包含在select操作中的行。他们仍然住在一张桌子里,他们只是没有被选中。

redux个应用相同的故事。让getMenuItemsSuccess成为menu_items实际变异的唯一地方。然后执行以下操作之一:

  1. 在您的商店中引入unmapped_items字段,该字段将在getUnmappedMenuItemsSuccess操作上更新。
  2. 相同但在从后端加载数据后进行过滤。在这种情况下,getUnmappedMenuItemsSuccess只会在不做任何额外工作的情况下切换项目来源。
  3. 使用Component代码进行过滤。

答案 1 :(得分:0)

我从reducer中删除了未映射的功能,并将其放在我的组件中,如下所示 -

parseFile_Click

我为unmap采用了一个标志,以便在产品为假时以及何时为真时显示产品。