A GraphQL query document parsed into an AST by graphql-tag.
options
Option
Type
Description
query
DocumentNode
A GraphQL query document parsed into an AST by graphql-tag. Optional for the useQuery Hook since the query can be passed in as the first parameter to the Hook. Required for the Query component.
variables
{ [key: string]: any }
An object containing all of the variables your query needs to execute
pollInterval
number
Specifies the interval in ms at which you want your component to poll for data. Defaults to 0 (no polling).
notifyOnNetworkStatusChange
boolean
Whether updates to the network status or network error should re-render your component. Defaults to false.
fetchPolicy
FetchPolicy
How you want your component to interact with the Apollo cache. Defaults to "cache-first".
errorPolicy
ErrorPolicy
How you want your component to handle network and GraphQL errors. Defaults to "none", which means we treat GraphQL errors as runtime errors.
ssr
boolean
Pass in false to skip your query during server-side rendering.
displayName
string
The name of your component to be displayed in React DevTools. Defaults to 'Query'.
skip
boolean
If skip is true, the query will be skipped entirely. Not available with useLazyQuery.
onCompleted
(data: TData | {}) => void
A callback executed once your query successfully completes.
onError
(error: ApolloError) => void
A callback executed in the event of an error.
context
Record<string, any>
Shared context between your component and your network interface (Apollo Link). Useful for setting headers from props or sending information to the request function of Apollo Boost.
partialRefetch
boolean
If true, perform a query refetch if the query result is marked as being partial, and the returned data is reset to an empty Object by the Apollo Client QueryManager (due to a cache miss). The default value is false for backwards-compatibility's sake, but should be changed to true for most use-cases.
client
ApolloClient
An ApolloClient instance. By default useQuery / Query uses the client passed down via context, but a different client can be passed in.
returnPartialData
boolean
Opt into receiving partial results from the cache for queries that are not fully satisfied by the cache. false by default.
Result
Property
Type
Description
data
TData
An object containing the result of your GraphQL query. Defaults to undefined.
loading
boolean
A boolean that indicates whether the request is in flight
error
ApolloError
A runtime error with graphQLErrors and networkError properties
variables
{ [key: string]: any }
An object containing the variables the query was called with
networkStatus
NetworkStatus
A number from 1-8 corresponding to the detailed state of your network request. Includes information about refetching and polling status. Used in conjunction with the notifyOnNetworkStatusChange prop.
A GraphQL query document parsed into an AST by graphql-tag.
options
Option
Type
Description
query
DocumentNode
A GraphQL query document parsed into an AST by graphql-tag. Optional for the useQuery Hook since the query can be passed in as the first parameter to the Hook. Required for the Query component.
variables
{ [key: string]: any }
An object containing all of the variables your query needs to execute
pollInterval
number
Specifies the interval in ms at which you want your component to poll for data. Defaults to 0 (no polling).
notifyOnNetworkStatusChange
boolean
Whether updates to the network status or network error should re-render your component. Defaults to false.
fetchPolicy
FetchPolicy
How you want your component to interact with the Apollo cache. Defaults to "cache-first".
errorPolicy
ErrorPolicy
How you want your component to handle network and GraphQL errors. Defaults to "none", which means we treat GraphQL errors as runtime errors.
ssr
boolean
Pass in false to skip your query during server-side rendering.
displayName
string
The name of your component to be displayed in React DevTools. Defaults to 'Query'.
skip
boolean
If skip is true, the query will be skipped entirely. Not available with useLazyQuery.
onCompleted
(data: TData | {}) => void
A callback executed once your query successfully completes.
onError
(error: ApolloError) => void
A callback executed in the event of an error.
context
Record<string, any>
Shared context between your component and your network interface (Apollo Link). Useful for setting headers from props or sending information to the request function of Apollo Boost.
partialRefetch
boolean
If true, perform a query refetch if the query result is marked as being partial, and the returned data is reset to an empty Object by the Apollo Client QueryManager (due to a cache miss). The default value is false for backwards-compatibility's sake, but should be changed to true for most use-cases.
client
ApolloClient
An ApolloClient instance. By default useQuery / Query uses the client passed down via context, but a different client can be passed in.
returnPartialData
boolean
Opt into receiving partial results from the cache for queries that are not fully satisfied by the cache. false by default.
Result
Execute function
Param
Type
Description
Execute function
options?: QueryLazyOptions<TVariables>) => void
Function that can be triggered to execute the suspended query. After being called, useLazyQuery behaves just like useQuery.
Result object
Property
Type
Description
data
TData
An object containing the result of your GraphQL query. Defaults to undefined.
loading
boolean
A boolean that indicates whether the request is in flight
error
ApolloError
A runtime error with graphQLErrors and networkError properties
variables
{ [key: string]: any }
An object containing the variables the query was called with
networkStatus
NetworkStatus
A number from 1-8 corresponding to the detailed state of your network request. Includes information about refetching and polling status. Used in conjunction with the notifyOnNetworkStatusChange prop.
A GraphQL mutation document parsed into an AST by graphql-tag.
options
Option
Type
Description
mutation
DocumentNode
A GraphQL mutation document parsed into an AST by graphql-tag. Optional for the useMutation Hook since the mutation can be passed in as the first parameter to the Hook. Required for the Mutation component.
variables
{ [key: string]: any }
An object containing all of the variables your mutation needs to execute
update
(cache: DataProxy, mutationResult: FetchResult)
A function used to update the cache after a mutation occurs
ignoreResults
boolean
If true, the returned data property will not update with the mutation result.
optimisticResponse
Object
Provide a mutation response before the result comes back from the server
An array or function that allows you to specify which queries you want to refetch after a mutation has occurred. Array values can either be queries (with optional variables) or just the string names of queries to be refeteched.
awaitRefetchQueries
boolean
Queries refetched as part of refetchQueries are handled asynchronously, and are not waited on before the mutation is completed (resolved). Setting this to true will make sure refetched queries are completed before the mutation is considered done. false by default.
onCompleted
(data: TData) => void
A callback executed once your mutation successfully completes
onError
(error: ApolloError) => void
A callback executed in the event of an error.
context
Record<string, any>
Shared context between your component and your network interface (Apollo Link). Useful for setting headers from props or sending information to the request function of Apollo Boost.
client
ApolloClient
An ApolloClient instance. By default useMutation / Mutation uses the client passed down via context, but a different client can be passed in.
A function to trigger a mutation from your UI. You can optionally pass variables, optimisticResponse, refetchQueries, and update in as options, which will override options/props passed to useMutation / Mutation. The function returns a promise that fulfills with your mutation result.
Mutation result:
Property
Type
Description
data
TData
The data returned from your mutation. It can be undefined if ignoreResults is true.
loading
boolean
A boolean indicating whether your mutation is in flight
error
ApolloError
Any errors returned from the mutation
called
boolean
A boolean indicating if the mutate function has been called
client
ApolloClient
Your ApolloClient instance. Useful for invoking cache methods outside the context of the update function, such as client.writeData and client.readQuery.
A GraphQL subscription document parsed into an AST by graphql-tag.
options
Option
Type
Description
subscription
DocumentNode
A GraphQL subscription document parsed into an AST by graphql-tag. Optional for the useSubscription Hook since the subscription can be passed in as the first parameter to the Hook. Required for the Subscription component.
variables
{ [key: string]: any }
An object containing all of the variables your subscription needs to execute
shouldResubscribe
boolean
Determines if your subscription should be unsubscribed and subscribed again
onSubscriptionData
(options: OnSubscriptionDataOptions<TData>) => any
Allows the registration of a callback function, that will be triggered each time the useSubscription Hook / Subscription component receives data. The callback options object param consists of the current Apollo Client instance in client, and the received subscription data in subscriptionData.
fetchPolicy
FetchPolicy
How you want your component to interact with the Apollo cache. Defaults to "cache-first".
client
ApolloClient
An ApolloClient instance. By default useSubscription / Subscription uses the client passed down via context, but a different client can be passed in.
Result
Property
Type
Description
data
TData
An object containing the result of your GraphQL subscription. Defaults to an empty object.
loading
boolean
A boolean that indicates whether any initial data has been returned
error
ApolloError
A runtime error with graphQLErrors and networkError properties
useApolloClient
Example
functionSomeComponent(){const client =useApolloClient();// `client` is now set to the `ApolloClient` instance being used by the// application (that was configured using something like `ApolloProvider`)}
Function Signature
functionuseApolloClient(): ApolloClient<object>{}
Result
Param
Type
Description
Apollo Client instance
ApolloClient<object>
The ApolloClient instance being used by the application.
ApolloProvider
Property
Type
Description
data
TData
An object containing the result of your GraphQL subscription. Defaults to an empty object.
loading
boolean
A boolean that indicates whether any initial data has been returned
error
ApolloError
A runtime error with graphQLErrors and networkError properties