Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在嵌套选择器调用中使用重新选择_Reactjs_Redux_React Redux_Memoization_Reselect - Fatal编程技术网

Reactjs 如何在嵌套选择器调用中使用重新选择

Reactjs 如何在嵌套选择器调用中使用重新选择,reactjs,redux,react-redux,memoization,reselect,Reactjs,Redux,React Redux,Memoization,Reselect,我有一个大型选择器,它在数组上循环,并为数组中的每个项调用一个选择器。有什么简单的方法来管理这个问题吗 看起来有点像这样: const memoizedGetPatientSymptomSeries = createSelector( state => getCurrentPatientId(state), state => displayPrefSelectors.getSymptomsToView(state), (pid, selectedSympto

我有一个大型选择器,它在数组上循环,并为数组中的每个项调用一个选择器。有什么简单的方法来管理这个问题吗

看起来有点像这样:

const memoizedGetPatientSymptomSeries = createSelector(
    state => getCurrentPatientId(state),
    state => displayPrefSelectors.getSymptomsToView(state), 
    (pid, selectedSymptoms) => {
        selectedSymptoms.forEach( symptom => {
            const symptomInfo = getSymptomInfoSelector(state, symptom.id)
        }
    }
)
有人知道我怎么做吗

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

我找到了


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

您想实现什么?每个症状对
getSymptomInfoSelector
的每次调用都有一个记忆实例?我有一个选择器,它在循环中使用其他选择器。要使用“重新选择”,您需要能够在状态中通过,但这会破坏整个目的。我在github上找到了一种方法。我会把答案贴在这里