如何将 Reselect 与嵌套的选择器调用一起使用

How to use Reselect with nested selector calls

我有一个大型选择器,它遍历数组并为数组中的每个项目调用一个选择器。有什么简单的方法可以解决这个问题吗?

看起来有点像这样:

const memoizedGetPatientSymptomSeries = createSelector(
    state => getCurrentPatientId(state),
    state => displayPrefSelectors.getSymptomsToView(state), 
    (pid, selectedSymptoms) => {
        selectedSymptoms.forEach( symptom => {
            const symptomInfo = getSymptomInfoSelector(state, symptom.id)
        }
    }
)

有人知道我该怎么做吗?

我唯一的想法是我必须将 getSymptomInfo 选择器复制并粘贴到循环本身中。

我找到了 answer here

它所需要的只是创建一个记忆选择器,return 一个函数,它接受除了状态之外你要传递的参数。然后将该选择器工厂函数添加为原始记忆选择器中的参数。