我在一个组件中有两个graphqql查询。我希望仅在执行第一个查询并从中获取数据后才执行第二个查询。如何进行?

问题描述 投票:0回答:1

我有两个 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);
  ...
reactjs graphql
1个回答
0
投票

您不能使用

useQuery
在单个组件中执行此操作,因为它是一个钩子,并且不能有条件地调用钩子 - 创建一个单独的嵌套组件来获取聊天历史记录,并且在获得聊天记录之前不会渲染它用户。

© www.soinside.com 2019 - 2024. All rights reserved.