我知道在 Redux 中使用选择器,并利用它们。然而,我有一个案例,我觉得将我新过滤的数据存储在商店中更有意义。这是我的例子:
我有一个显示很多项目的应用程序。有一个“全局过滤器”选项只会显示这些项目的特定子集。
事实是,这个过滤器是全局的。它会跨多个页面和组件(例如,在表格中、在下拉菜单中)更改此项目列表。设置过滤器后,就整个应用程序而言,当前子集是唯一存在的项目列表。
我可以在任何需要的地方使用选择器,但我觉得在我的商店中只包含一个“filteredItems”部分会更稳健。这样做有什么缺点?
最佳答案
您可以自行决定应用中的状态以及应用的存放位置。是的,常见的建议是尽量保持存储状态最小,并使用选择器从中派生扩展值,但是使用缩减器创建保留在状态中的过滤值并没有错。您的情况听起来像是一个完全合理的用例。
关于Redux:将派生数据保存在商店中总是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42341369/