redux RTK查询中的链2查询

tuwxkamq  于 2023-01-13  发布在  其他
关注(0)|答案(3)|浏览(183)

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

const { data: user } = useGetUserQuery();

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

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

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

pnwntuvh

pnwntuvh1#

可以使用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);
ruyhziif

ruyhziif2#

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

lnlaulya

lnlaulya3#

我们可以使用skip标志来确保是否存在用户id

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

相关问题