javascript - 如何使用带有按钮的 Redux 选择器(Reselect)来查询 Redux 存储
问题描述
我正在尝试学习 Redux 和 Redux 选择器。我的 React 应用程序有列表组,其中每个列表组按钮代表一个类别。它还显示来自 redux 商店的所有项目。当用户点击一个类别时,应该只显示属于点击类别的项目。我已经构建了过滤属于“策略”类别的项目的选择器,它看起来像这样:
const categorySelector = createSelector(
allBoardgames,
data => data.filter(d => d.value.category.some(cat => cat === 'Strategy'))
);
我将状态映射到这样的道具:
function mapStateToProps(state) {
return {
results: categorySelector(state)
};
}
我的列表组呈现如下:
renderCategories() {
return this.state.categories.map(category => {
return (
<ListGroupItem
tag='button'
action
key={category.key}
//onClick={() => this.props.fetchCategoryItems(category.value)}
>
{category.value}
</ListGroupItem>
);
});
}
现在 onClick 事件应该调用选择器并更新 redux 状态或组件状态,以便应用程序只显示属于单击类别的项目。实现这一目标的最简单方法是什么?
解决方案
推荐阅读
- reactjs - 如何在 Gatsby 中为我的可重用组件返回特定图像?
- laravel - Laravel 路由模型绑定返回帖子的虚假所有者
- mongodb - Mongoose - Ref - 根据子文档更新父级
- c++ - 将 memcpy char[] 转换为字符串
- python - tqdm.auto 进度条无法正确显示,而是显示 HBox(children=(FloatProgress(value=0.0), HTML(value='')))
- amazon-web-services - 如何在 AWS Glue 中使用 Spark 包?
- html - chrome无法加载spotfire链接
- awk - 更快的字符串替换算法/语言
- angular - Angular:如何在不通过 HTML 的情况下将数据从组件传递到另一个组件?
- typescript - 如何在ts中声明函数之间的依赖关系?