使用 reselect 反应选择器 - createStructuredSelector

React selector using reselect - createStructuredSelector

我有点疑惑,如果你能提供一个想法,我将不胜感激。

我在我的一个项目中第一次使用重新选择包。我根据下面的 link 创建 makeGetVisibleTodos 选择器,然后如果我 link 使用 createStructuredSelector;

这个选择器到下面的组件
const mapStateToProps = createStructuredSelector({
  visibleTodos: makeGetVisibleTodos()
});

有用吗?我的意思是,如果我多次使用该组件,是否会因为共享该组件而遇到任何问题?这样,我就没有像makeMapStateToProps.

那样为mapStateToProps创建函数了

https://github.com/reduxjs/reselect#sharing-selectors-with-props-across-multiple-component-instances

谢谢

这不会按预期工作,因为您在创建结构化选择器时只调用了一次 makeGetVisibleTodos。生成的选择器将在所有组件实例之间共享。如果这是一个问题(因为选择器结果取决于组件道具,您需要添加一个间接级别,如 reselect docs section you linked:

中所述
const mapStateToProps = () => createStructuredSelector({
  visibleTodos: makeGetVisibleTodos()
});