2

如果第二个查询需要第一个返回的参数,那么链接查询的正确方法是什么?

const { data: user } = useGetUserQuery();

用户对象包含一个用于运行的 ID

const { data: userBio} = useGetUserBioQuery(user.id);

如何确保第二个仅在第一个完成后才运行?

4

2 回答 2

4

您可以使用以下skip选项:

const { data: user, isFulfilled: userFulfilled } = useGetUserQuery();
const { data: userBio} = useGetUserBioQuery(user.id, { skip: !userFulfilled });

skipToken

const { data: user, isFulfilled: userFulfilled } = useGetUserQuery();
const { data: userBio} = useGetUserBioQuery(userFulfilled ? user.id : skipToken);
于 2021-10-09T09:29:40.933 回答
0

RTK 查询文档的用法部分还提供了另一个示例,说明如何将多个请求与一个查询结合起来,我发现这对那个用例非常有用: https ://redux-toolkit.js.org/rtk-query/usage/定制查询#performing-multiple-requests-with-a-single-query

于 2022-01-17T15:17:46.217 回答