0

tldr; 如何混合两个或多个 createApi 端点结果?

所以我使用createApi的是reduxToolkit,我遇到的问题很简单,但我有点迷失在这个漂亮工具的庞大文档中。

这个想法是我有一个视图,它将混合来自两个不同 api 端点的数据,例如:

/用户 /汽车

该视图将显示一个混合了两种结果的数组(例如,汽车图像仅在 /cars 中)。

有点像transformResponse,但对于 2 个端点

进行这种混合的正确方法是什么?(在视图中这样做似乎不是最好的,我也不想要那个后端)。

您可能会告诉我使用 reducer,但 reducer/slice 在 createApi 模式中的位置是什么?那是我不明白的。

4

1 回答 1

1

您可以在 rtk 查询之外组合结果。

    const {data: data1} = useAQuery(...);
    const {data: data2} = useBQuery(...);
    const combined = useMemo(() => {...combine data1, data2}, [data1, data2]);

如果在多个组件中需要它,您可以创建一个自定义钩子 useCarsAndUsers(...) 以避免代码重复。

于 2021-10-22T11:30:43.457 回答