这是我的reducer文件。
{{1}}
现在,当我单击未映射的过滤器时,它会显示已过滤的数据,但是当我单击allProducts后它仍未提供映射时,它仍会提供未映射的数据,因为在unmap函数中,状态(menu_items)已更新。所以如何显示原始数据所有产品。在我的用户界面中,我正在使用(this.props.menu_items),所以我只能更新它。 我想要做的是,当点击类别时,它应显示所有产品并为其取消映射,对于Addons也是如此。
答案 0 :(得分:1)
我认为在未映射的项目请求中更改menu_items
时,您会犯一个概念上的错误。考虑你的redux存储就好像它是某种古老的SQL数据库并相应地设计它是非常有用的。您不会从数据库中删除不包含在select
操作中的行。他们仍然住在一张桌子里,他们只是没有被选中。
与redux
个应用相同的故事。让getMenuItemsSuccess
成为menu_items
实际变异的唯一地方。然后执行以下操作之一:
unmapped_items
字段,该字段将在getUnmappedMenuItemsSuccess
操作上更新。getUnmappedMenuItemsSuccess
只会在不做任何额外工作的情况下切换项目来源。Component
代码进行过滤。答案 1 :(得分:0)
我从reducer中删除了未映射的功能,并将其放在我的组件中,如下所示 -
parseFile_Click
我为unmap采用了一个标志,以便在产品为假时以及何时为真时显示产品。