gpt4 book ai didi

redux - 如何将参数传递给一个 createSelector 的 result 函数(重新选择)

转载 作者:行者123 更新时间:2023-12-01 02:41:16 28 4
gpt4 key购买 nike

我的 redux store 有两个独立的 slice A 和 B,

我需要一个内存的选择器,它返回从 B 派生的东西,只有当 A 发生变化时。

例如

const getSliceA = (state) => state.A

export const getSliceB = createSelector(
getSliceA,
(a) => { return MyDerive(state.B) }
)

我的问题是如何将 state 或 state.B 发送到 resultFunc。

enter image description here

最佳答案

const compareBySliceA = (prevSate: RootState, newState: RootState) => {
// This is just an example you can compare inner of Slice A
if (newState.SliceA === prevState.SliceB) {
return true
}
return false;
};

const getDerivedSliceB (state: RootState): List<any> =>
state.SliceB.filter(ElementB => ElementB.visible)


const createComparatorSelector = createSelectorCreator(
defaultMemoize,
compareBySliceA,
);


export const myDeepSelector = createComparatorSelector(
(state: RootState) => state,
(state: RootState): List<any> => getDerivedSliceB(state),
);

compareBySliceA 和 getDerivedSliceB 都需要共同的父级,即在上面的示例中 State 是 SliceA 和 SliceB 的parnet。

关于redux - 如何将参数传递给一个 createSelector 的 result 函数(重新选择),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52305353/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com