我有两个 graphql 查询,第一个是 getUser,第二个是 getChatHistory。我希望 getChatHistory 仅在执行 getUser 并获取用户详细信息后执行。
export const getChatHistory = gql`{
chatHistory {
title
}
}
`;
export const getUser = gql`{
user {
name
email
}
}
`;
const Home = ()=> {
const {loading: chatLoading,error:chatError,data:chatData}=useQuery(getChatHistory);
const {data:userData} = useQuery(getUser);
...
您不能使用
useQuery
在单个组件中执行此操作,因为它是一个钩子,并且不能有条件地调用钩子 - 创建一个单独的嵌套组件来获取聊天历史记录,并且在获得聊天记录之前不会渲染它用户。