reactjs - 使用重新选择反应选择器 - createStructuredSelector
问题描述
我想知道如果你能给出一个想法,我将不胜感激。
我在我的一个项目中第一次使用重新选择包。makeGetVisibleTodos
我基于下面的链接创建选择器,然后如果我将此选择器链接到下面使用的组件createStructuredSelector
;
const mapStateToProps = createStructuredSelector({
visibleTodos: makeGetVisibleTodos()
});
它有效吗?我的意思是如果我多次使用这个组件,我是否因为共享该组件而遇到任何问题?这样,我没有为mapStateToProps
like创建函数makeMapStateToProps
。
https://github.com/reduxjs/reselect#sharing-selectors-with-props-across-multiple-component-instances
谢谢
解决方案
这不会按预期工作,因为您makeGetVisibleTodos
在创建结构化选择器时只调用一次。生成的选择器将在所有组件实例之间共享。如果这是一个问题(因为选择器结果取决于组件道具,您需要添加一个间接级别,如您链接的重新选择文档部分中所述:
const mapStateToProps = () => createStructuredSelector({
visibleTodos: makeGetVisibleTodos()
});
推荐阅读
- javascript - 节点(错误:dlopen 失败:找不到符号)
- java - Java-Spark-Drools:线程“main”中的异常 java.lang.RuntimeException:找不到默认的 KieBase
- django - Froala 在 django 中无法正常工作
- javascript - AdBlock 阻止 MathJax 和 AddThis
- c - 达到计数 32751 后无法创建线程
- vba - 从字符串和数字 vba 生成列表
- spring - 使用 Vault 保护 Spring Cloud 配置凭据
- php - 有人知道 Humhub 如何加密密码吗?
- sharepoint-2013 - 如何使用共享点列表创建测验?仅 OOTB 版本 2013
- c - 如何对包含指向自身的指针的结构进行类型定义?