我想知道如果您能提出一个想法,我将不胜感激。
我第一次在一个项目中使用重新选择包。我会根据下面的链接创建makeGetVisibleTodos
选择器,然后使用createStructuredSelector
;
const mapStateToProps = createStructuredSelector({
visibleTodos: makeGetVisibleTodos()
});
可以吗?我的意思是,如果我多次使用此组件,由于共享该组件是否会遇到任何问题?这样,我没有为mapStateToProps
创建像makeMapStateToProps
这样的函数。
https://github.com/reduxjs/reselect#sharing-selectors-with-props-across-multiple-component-instances
谢谢
答案 0 :(得分:1)
这将无法正常工作,因为在创建结构化选择器时,您仅调用一次makeGetVisibleTodos
。结果选择器将在所有组件实例之间共享。如果这是个问题(由于选择器的结果取决于组件属性,则需要按照reselect docs section you linked中所述添加一个间接级别:
const mapStateToProps = () => createStructuredSelector({
visibleTodos: makeGetVisibleTodos()
});