等待useLazyQuery响应useLazyQuery

2023-09-03 11:05:39 作者:可爱潮流加美腻

我需要在按下提交按钮时调用查询,然后处理响应。

我需要这样的东西:

const [checkEmail] = useLazyQuery(CHECK_EMAIL)
const handleSubmit = async () => {
  const res = await checkEmail({ variables: { email: values.email }})
  console.log(res) // handle response
}
百度登录不了,等了登录没有反应

尝试#1:

const [checkEmail, { data }] = useLazyQuery(CHECK_EMAIL)
const handleSubmit = async () => {
  const res = await checkEmail({ variables: { email: values.email }})
  console.log(data) // undefined the first time
}

提前谢谢!

推荐答案

毕竟,这就是我的解决方案。

export function useLazyQuery<TData = any, TVariables = OperationVariables>(query: DocumentNode) {
  const client = useApolloClient()
  return React.useCallback(
    (variables: TVariables) =>
      client.query<TData, TVariables>({
        query: query,
        variables: variables,
      }),
    [client]
  )
}
相关推荐