From 151fbd2fc3d2e41a5db04b827ce546bcba7be63d Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Mon, 2 Dec 2019 03:59:38 +0100 Subject: [PATCH] feat(useQuery): prefetch option --- packages/docs/src/api/use-query.md | 2 ++ packages/vue-apollo-composable/src/useQuery.ts | 3 +++ 2 files changed, 5 insertions(+) diff --git a/packages/docs/src/api/use-query.md b/packages/docs/src/api/use-query.md index a567994..7602746 100644 --- a/packages/docs/src/api/use-query.md +++ b/packages/docs/src/api/use-query.md @@ -34,6 +34,8 @@ - `notifyOnNetworkStatusChange`: Whether or not updates to the network status should trigger next on the observer of this query. + - `prefetch`: (default: `true`) Enable prefetching on the server during Server-Side Rendering. + - `pollInterval`: The time interval (in milliseconds) on which this query should be refetched from the server. - `returnPartialData`: Allow returning incomplete data from the cache when a larger query cannot be fully satisfied by the cache, instead of returning nothing. diff --git a/packages/vue-apollo-composable/src/useQuery.ts b/packages/vue-apollo-composable/src/useQuery.ts index 137bc63..1481df8 100644 --- a/packages/vue-apollo-composable/src/useQuery.ts +++ b/packages/vue-apollo-composable/src/useQuery.ts @@ -27,6 +27,7 @@ export interface UseQueryOptions< enabled?: boolean throttle?: number debounce?: number + prefetch?: boolean } interface SubscribeToMoreItem { @@ -93,6 +94,8 @@ export function useQuery< */ function start () { if (started || !isEnabled.value) return + if (isServer && currentOptions.value.prefetch === false) return + started = true loading.value = true