如何使用重新选择访问当前的 Redux 状态

How to access current Redux state with Reselect?

本文关键字:访问 状态 Redux 选择 何使用 新选择      更新时间:2023-09-26

我想根据同一选择器的最后一个值返回一个值,例如

const myReselect = createSelector(
  [otherSelector],
  (otherValue) => {
    // how to access current state?
    return state.myReselect + 1
  }
)
const globalState = state => ({
  myReselect: myReselect(state)
})

您可以组合多个选择器以创建更复杂的选择。

例如,您有返回一些数据的 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