我想为某些数据集创建一个过滤器。说,它类似于https://www.npmjs.com/"查找包"搜索栏但没有任何AJAX调用。加载应用程序时我拥有的所有数据集。
所以,我有一些" allPackages"用户可以搜索所有实体的对象和" filteredPackages"每次用户更改搜索栏文本时都会重新计算。
如何使用Redux paradygm实现此类行为? 如果我创建" filteredPackages",我该如何通过" allPackages"数据? AFAIK,combineReducers功能不允许这样做。
答案 0 :(得分:1)
根据http://redux.js.org/docs/recipes/ComputingDerivedData.html,一般建议是存储您所在州所需的最小数量的信息。此外,根据http://redux.js.org/docs/FAQ.html#organizing-state-nested-data,我们鼓励您存储规范化的数据。因此,您可能拥有状态中所有项目的列表,以及描述您已应用的过滤器类型的字段。然后,在连接的组件中,您可以使用“选择器”功能针对所有项目的列表运行适当的过滤器。
Redux Todo示例也演示了这种方法:https://github.com/reactjs/redux/tree/master/examples/todos