我想根据同一个选择器的最后一个值返回一个值。 e.g。
const myReselect = createSelector(
[otherSelector],
(otherValue) => {
// how to access current state?
return state.myReselect + 1
}
)
const globalState = state => ({
myReselect: myReselect(state)
})
答案 0 :(得分:0)
您可以组合多个选择器来创建更复杂的选择。
例如,您有selectorA
,它会返回一些数据,然后您希望合并来自selectorA
的数据和来自state.dataB
的其他数据。
创建一个额外的selectorB
并制作最终的组合版本:
// this is reusable selector
import selectorA from './selectorA';
// this is our local selector
const selectorB = state => state.dataB;
const finalSelector = createSelector(
selectorA,
selectorB,
(a, b) => {
return a + b;
}
);
// pubish our resulting selector
export default finalSelector;
仅当某些相关选择器发生更改时,才会更新 finalSelector