From 5619f128a220bdea599b502187783625f1927f2f Mon Sep 17 00:00:00 2001 From: Jake Ginnivan Date: Sat, 21 Nov 2020 16:50:25 +0800 Subject: [PATCH] Throw error when QueryClientProvider has not been used to set a query client Also updated docs --- docs/src/pages/guides/migrating-to-react-query-3.md | 2 ++ src/react/QueryClientProvider.tsx | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/src/pages/guides/migrating-to-react-query-3.md b/docs/src/pages/guides/migrating-to-react-query-3.md index c8cca08606..d4e570d87d 100644 --- a/docs/src/pages/guides/migrating-to-react-query-3.md +++ b/docs/src/pages/guides/migrating-to-react-query-3.md @@ -22,6 +22,8 @@ This has some benefits: Use the `QueryClientProvider` component to connect a `QueryClient` to your application: +**NOTE** There is no longer a default query cache, you must connect your application to a query provider manually + ```js import { QueryClient, QueryClientProvider } from 'react-query' diff --git a/src/react/QueryClientProvider.tsx b/src/react/QueryClientProvider.tsx index c5eeccabee..bfe0e7c425 100644 --- a/src/react/QueryClientProvider.tsx +++ b/src/react/QueryClientProvider.tsx @@ -6,7 +6,13 @@ const QueryClientContext = React.createContext( undefined ) -export const useQueryClient = () => React.useContext(QueryClientContext)! +export const useQueryClient = () => { + const queryClient = React.useContext(QueryClientContext) + if (!queryClient) { + throw new Error('No QueryClient set, use QueryClientProvider to set one') + } + return queryClient +} export interface QueryClientProviderProps { client: QueryClient