redux - 未记忆具有动态参数的选择器
问题描述
我试图让 Reselect 记住我用动态参数调用的选择器
我的选择器:
import { createSelector, defaultMemoize } from 'reselect'
const allStatesSelector = store => store.state.states
export const getAllStates = createSelector(
allStatesSelector,
states => defaultMemoize(night => {
console.log('getAllStates called with night:', night)
const availableStates = night ? nightStates : dayStates
return states.filter(state => availableStates.includes(state.id))
}),
)
我这样称呼它:
states: getAllStates(store)(props.night)
选择器被调用了 1800 次,而不仅仅是 2 次(考虑到 night 只能是真或假)。
我错过了什么?
解决方案
推荐阅读
- mongodb - 在 MongoDB 和 S3 中将应用程序状态存储为 JSON
- twitter-bootstrap - 当 typeahead 输入字段为空并使用 typeahead 选择多个标签时显示所有下拉选项
- angular - jsp中的两种方式绑定
- javascript - 如何使用服务工作者 Angular 6 在后台运行监视位置
- c++ - 将 Node.Js 添加到 C++
- java - Hibernate 多对多映射的问题
- java - JavaFX根据单元格值设置单元格颜色
- c# - 使用多列上的下拉列表过滤 asp gridview 标题
- java - 调用另一个类方法时出现空指针异常
- html - Htmlagilitypack - 从同一行读取两个不同的节点并将它们添加到列表视图