我们如何在Redux中组合选择器?



假设我需要3个不同reducer的3个数据

通常我可以做这样的事情!!

const data1 = useSelector((state: any) => state?.reducer1);
const data2 = useSelector((state: any) => state?.reducer2);
const data3 = useSelector((state: any) => state?.reducer3);

那么我如何用单个useSelector达到相同的结果

const dataState = useSelector((state: any) => ({reducer1: state?.reducer1, reducer2: state?.reducer2, reducer3: state?.reducer3}));
const data1 = dataState.reducer1;
const data2 = dataState.reducer2;
const data3 = dataState.reducer3;

您可以为您的状态使用解构赋值,例如:

const { reducer1, reducer2, reducer3 } = useSelector((state: any) =>
({
reducer1: state?.reducer1,
reducer2: state?.reducer2,
reducer3: state?.reducer3
}));

最新更新