From 16b0ea538e67d4d56c591b75633e7c0b5e852e50 Mon Sep 17 00:00:00 2001 From: Dominik Dorfmeister Date: Sat, 14 Nov 2020 00:49:58 +0100 Subject: [PATCH] feat: v3 support (#81) * add react-query to devDependencies and bump to latest beta * replaced useQueryCache with useQueryClient and extracted the queryCache from the queryClient I also removed the fallback because with v3, you always need to wrap your app in a QueryClientProvider * updatedAt was renamed to dataUpdatedAt in v3 * queryCache.subscribe passes a query, not a queryCache but we don't really care about the argument because we have the queryCache in the closure * remove the activeQuery directly from the queryCache BREAKING CHANGE: Uses the new React Query v3 API --- package.json | 3 ++- src/index.js | 15 ++++++++------- yarn.lock | 14 ++++++++++++++ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 70dc34b..c775744 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ }, "peerDependencies": { "react": "^16.6.3 || ^17.0.0", - "react-query": "^2.0.0" + "react-query": "^3.2.0-beta.23" }, "devDependencies": { "@babel/core": "^7.9.0", @@ -65,6 +65,7 @@ "prettier": "^1.19.1", "react": "^16.12.0", "react-dom": "^16.12.0", + "react-query": "^3.2.0-beta.23", "rollup": "^1.31.1", "rollup-plugin-babel": "^4.3.2", "rollup-plugin-commonjs": "^10.1.0", diff --git a/src/index.js b/src/index.js index f44c2c1..d0fd1bd 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,6 @@ import React from 'react' import match from 'match-sorter' -import { queryCache as cache, useQueryCache } from 'react-query' +import { useQueryClient } from 'react-query' import useLocalStorage from './useLocalStorage' import { useSafeState, isStale } from './utils' @@ -215,7 +215,8 @@ export const ReactQueryDevtoolsPanel = React.forwardRef( function ReactQueryDevtoolsPanel(props, ref) { const { setIsOpen, ...panelProps } = props - const queryCache = useQueryCache ? useQueryCache() : cache + const queryClient = useQueryClient() + const queryCache = queryClient.getQueryCache() const [sort, setSort] = useLocalStorage( 'reactQueryDevtoolsSortFn', @@ -270,7 +271,7 @@ export const ReactQueryDevtoolsPanel = React.forwardRef( } const [unsortedQueries, setUnsortedQueries] = useSafeState( - Object.values(queryCache.queries) + Object.values(queryCache.getAll()) ) const [activeQueryHash, setActiveQueryHash] = useLocalStorage( @@ -306,8 +307,8 @@ export const ReactQueryDevtoolsPanel = React.forwardRef( ).length React.useEffect(() => { - return queryCache.subscribe(queryCache => { - setUnsortedQueries(Object.values(queryCache.queries)) + return queryCache.subscribe(() => { + setUnsortedQueries(Object.values(queryCache.getAll())) }) }, [sort, sortFn, sortDesc, queryCache, setUnsortedQueries]) @@ -564,7 +565,7 @@ export const ReactQueryDevtoolsPanel = React.forwardRef( > Last Updated:{' '} - {new Date(activeQuery.state.updatedAt).toLocaleTimeString()} + {new Date(activeQuery.state.dataUpdatedAt).toLocaleTimeString()} @@ -595,7 +596,7 @@ export const ReactQueryDevtoolsPanel = React.forwardRef( {' '}