如何将 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 一个函数,它接受除了状态之外你要传递的参数。然后将该选择器工厂函数添加为原始记忆选择器中的参数。
我有一个大型选择器,它遍历数组并为数组中的每个项目调用一个选择器。有什么简单的方法可以解决这个问题吗?
看起来有点像这样:
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 一个函数,它接受除了状态之外你要传递的参数。然后将该选择器工厂函数添加为原始记忆选择器中的参数。