【问题标题】:how await a hook after execute a query in apollo Gql and REACT?在 apollo Gql 和 REACT 中执行查询后如何等待钩子?
【发布时间】:2020-11-29 19:49:19
【问题描述】:

我有以下问题,我想执行一个需要和 ID 用户的查询,但是我已经从一个钩子中咨询了 ID 用户,代码:

export default function useGetDatosPersonales() {
  
    const [viewer, refetchViewer] =  useViewer();
    const {data} = useQuery(qUsuario,{
        variables: {
            user: viewer && viewer.id
        }
    });
    const functionCall = (render) => { 
       if(data !== null && data !== undefined){
           console.log(data.user.email);
        }
    }

    return [functionCall,data];
    
}

查询qUsuario是:

query qUsuario($user:ID!){
  user(id:$user){
    email,
    firstName,
    lastName,
  }
}

但我第一次收到以下错误:

[GraphQL 错误]:所需类型“ID!”的变量“$user”不是 提供。

然后在几毫秒后,查询就起作用了!

在执行查询之前我如何对等待 id 的阿波罗说

【问题讨论】:

    标签: reactjs graph next.js react-apollo apollo-client


    【解决方案1】:

    你需要使用useLazyQuery,因为useQuery永远不会等待。

    或者您可以使用 async-await 语法直接使用客户端实例并在异步下完全控制。

    【讨论】:

      猜你喜欢
      • 2021-06-14
      • 2019-12-20
      • 1970-01-01
      • 2021-01-09
      • 2021-09-26
      • 1970-01-01
      • 2020-02-02
      • 2020-07-22
      • 2020-01-06
      相关资源
      最近更新 更多