如果第二个查询需要第一个查询返回的参数,那么链接查询的正确方法是什么?
const { data: user } = useGetUserQuery();
用户对象包含一个用于运行的ID
const { data: userBio} = useGetUserBioQuery(user.id);
如何确保第二个仅在第一个完成后才运行?
您可以使用
skip
选项:
const { data: user, isFulfilled: userFulfilled } = useGetUserQuery();
const { data: userBio} = useGetUserBioQuery(user.id, { skip: !userFulfilled });
或者
skipToken
:
import { skipToken } from '@reduxjs/toolkit/query/react'
const { data: user, isFulfilled: userFulfilled } = useGetUserQuery();
const { data: userBio} = useGetUserBioQuery(userFulfilled ? user.id : skipToken);
skip
标志来确定是否有用户 ID
const { data: user } = useGetUserQuery();
const { data: userBio} = useGetUserBioQuery(user.id, { skip: !user.id });