ohmyform-ui/components/use.imerative.query.ts
2022-01-03 00:39:47 +01:00

17 lines
451 B
TypeScript

import { ApolloQueryResult, useQuery } from '@apollo/client'
import { DocumentNode } from 'graphql'
import { useCallback } from 'react'
export const useImperativeQuery: <TData, TVariables>(
query: DocumentNode
) => (variables: TVariables) => Promise<ApolloQueryResult<TData>> = (query) => {
const { refetch } = useQuery(query, { skip: true })
return useCallback(
(variables) => {
return refetch(variables)
},
[refetch]
)
}